美文网首页
leetcode题目24. 两两交换链表中的节点(java)

leetcode题目24. 两两交换链表中的节点(java)

作者: castlet | 来源:发表于2020-06-07 10:55 被阅读0次

题目描述

给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。

示例

给定 1->2->3->4, 你应该返回 2->1->4->3.

代码

public ListNode swapPairs(ListNode head) {
    if (head == null) {
        return null;
    }
    ListNode dummy = new ListNode(0);
    dummy.next = head;
    ListNode current = dummy;
    while (current != null && current.next != null && current.next.next != null) {
        ListNode next1 = current.next;
        ListNode next2 = current.next.next;
        next1.next = next2.next;
        next2.next = next1;
        current.next = next2;
        current = current.next.next;
    }
    return dummy.next;
}

相关文章

网友评论

      本文标题:leetcode题目24. 两两交换链表中的节点(java)

      本文链接:https://www.haomeiwen.com/subject/uuzqtktx.html