Swap Nodes in Pairs

来源:互联网 发布:linux smp lock.h 编辑:程序博客网 时间:2024/06/07 06:04

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

样例

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 {    /**     * @param head a ListNode     * @return a ListNode     */    public ListNode swapPairs(ListNode head) {        // Write your code here        ListNode tempN=head;        int temp=0;        while(head!=null && head.next!=null)        {            temp=head.next.val;            head.next.val=head.val;            head.val=temp;            if(head.next.next!=null)            {                head=head.next.next;            }            else            {                return tempN;            }                    }        return tempN;    }}


0 0
原创粉丝点击