美文网首页
P1-链表反转-迭代

P1-链表反转-迭代

作者: YonchanLew | 来源:发表于2021-05-04 15:20 被阅读0次
    //第一种方法,迭代
    //https://www.bilibili.com/video/BV1hK4y1P7ka?t=341
    //反转链表
    public class ReverseList {
     
        static class ListNode{
            int val;
            ListNode next;
     
            public ListNode(int val, ListNode next){
                this.val = val;
                this.next = next;
            }
     
            public static ListNode iterate(ListNode head){
                ListNode prev = null;
                ListNode next;
                ListNode curr = head;
                while(curr != null){
                    next = curr.next;
                    curr.next = prev;
                    prev = curr;
                    curr = next;
                }
                return prev;
            }
     
            public void printList(){
                System.out.println(this.val);
                ListNode curr = this;
                while(curr.next != null) {
                    System.out.println(curr.next.val);
                    curr = curr.next;
                }
            }
        }
     
        public static void main(String[] args) {
            ListNode node5 = new ListNode(5, null);
            ListNode node4 = new ListNode(4, node5);
            ListNode node3 = new ListNode(3, node4);
            ListNode node2 = new ListNode(2, node3);
            ListNode node1 = new ListNode(1, node2);
            node1.printList();
            ListNode.iterate(node1);
            node5.printList();
     
        }
     
    }
    

    相关文章

      网友评论

          本文标题:P1-链表反转-迭代

          本文链接:https://www.haomeiwen.com/subject/plicdltx.html