leetcode:Swap Nodes in Pairs

来源:互联网 发布:五轴编程哪个软件强 编辑:程序博客网 时间:2024/04/28 17:24


交换两个相邻变量的结点,不能仅仅只是交换他们的值

使用双指针的做法,n1,n2,

n1.next = n2.next;

n2.next = n1;

pre.next = n2;


/** * Definition for singly-linked list. * public class ListNode { *     int val; *     ListNode next; *     ListNode(int x) { *         val = x; *         next = null; *     } * } */public class Solution {        public ListNode swapPairs(ListNode head) {        if (head == null || head.next == null) {            return head;        }        ListNode n1 = head, n2 = null;        head = head.next;        ListNode pre = null;        while (n1 != null && n1.next != null) {            n2 = n1.next;            if (pre != null) {                pre.next = n2;            }            n1.next = n2.next;            n2.next = n1;            pre = n1;            n1 = pre.next;        }        return head;    }}


0 0