安全プランを証明する:リバースリスト

一つ、タイトル説明

  リストを反転リストを入力した後、出力ヘッダの新しいリスト。

 

第二に、アイデア

  反復思考の使用は、前面から背面にリストをトラバース。これは3つの隣接ノードを指して、3つのポインタを定義しました。フロント二つのノード、およびその後連続3逆方向ポインタを回転させます。第2のポインタまではNULLです。最後に、処理チェーンのエンドノードを終了します。

  

 

 

 

 

 

 

 

 

 第三に、コード

 

public class 反转链表 {
	
	public class ListNode {
	    int val;
	    ListNode next = null;

	    ListNode(int val) {
	        this.val = val;
	    }
	}
	
    public ListNode ReverseList(ListNode head) {
    	if(head==null||head.next==null){
    		return head;
    	}
    	else{
    		ListNode p1 = head;
    		ListNode p2 = p1.next;
    		ListNode p3 = p2.next;
    		
    		while(p2!=null){
    			p3 = p2.next;
    			p2.next = p1;  //第二个结点指向第一个结点进行反转
    			p1 = p2;	   //第一个结点后移	
    			p2 = p3;	   //第二个结点后移
    		}
    		
    		head.next = null;
    		head = p1;
    		return head;
    	}
    }
}

  

おすすめ

転載: www.cnblogs.com/blzm742624643/p/12237884.html