zoukankan      html  css  js  c++  java
  • Swap Nodes in Pairs

    题目

    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.

    方法

    更改指针,就可以。
    	    public ListNode swapPairs(ListNode head) {
    	       if(head == null || head.next == null){
    	           return head;
    	       }else{
    	           ListNode first = null;
    	           ListNode second = null;
    	           ListNode suc = null;
    	           ListNode pre = null;           
    	           first = head;
    	           head = null;
    	           while(first.next != null){
    	               second = first.next;
    	               suc = second.next;
    	               
    	               if(pre == null){
    	                   head = second;
    	                   second.next = first;
    	                   first.next = suc;
    	                   pre = first;
    	               }else{
    	                   pre.next = second;
    	                   second.next = first;
    	                   first.next = suc;
    	                   pre = first;
    	               }
    	               first = suc;
    	               if(first == null){
    	                   break;
    	               }
    	           }        
    	           return head;
    	       }
    	    }


  • 相关阅读:
    web--ajax--json
    4.26
    4.25
    4.23
    4.22
    4.20
    4.19
    4.18
    4月问题总结章
    4.17
  • 原文地址:https://www.cnblogs.com/clnchanpin/p/6756832.html
Copyright © 2011-2022 走看看