一つ、タイトル説明
リストを反転リストを入力した後、出力ヘッダの新しいリスト。
第二に、アイデア
反復思考の使用は、前面から背面にリストをトラバース。これは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; } } }