LeetCode_OJ【24】Swap Nodes in Pairs

来源:互联网 发布:linux安装jira7.22 编辑:程序博客网 时间:2024/06/04 19:13

Given a linked list, swap every two adjacent nodes and return its head.

For example,
Given 1->2->3->4, you should return the list as 2->1->4->3.

Your algorithm should use only constant space. You may not modify the values in the list, only nodes itself can be changed.

这种题目是很基础的,但是还是得细心,最好在纸上给要操作的节点画出来。

/** * Definition for singly-linked list. * public class ListNode { *     int val; *     ListNode next; *     ListNode(int x) { val = x; } * } */public class Solution {    public ListNode swapPairs(ListNode head) {ListNode dummy = new ListNode(-1);dummy.next = head;ListNode pre = dummy;while(pre.next!=null && pre.next.next != null){ListNode cur1 = pre.next;ListNode cur2 = cur1.next;pre.next = cur2;cur1.next = cur2.next;cur2.next = cur1;pre = cur1;}        return dummy.next;    }}


0 0
原创粉丝点击