其他分享
首页 > 其他分享> > 206反转链表

206反转链表

作者:互联网

1:递归方法

1--》2--》3 到 3--》2--》1返回末尾3节点,3节点next置为2,2节点next置为null;2节点next置为1,1节点next置为null

    public ListNode reverseList(ListNode head){
        if(head==null||head.next==null){
            return head;
        }
        ListNode p =reverseList(head.next);
        head.next.next=head;
        head.next=null;
        return p;
    }

2:遍历直接逐个替换next

借助第三个变量存储原来的下一个next值,便于三个变量之间的置换位置

    public ListNode reverseList(ListNode head) {
        ListNode pre =null;
        ListNode cur =head;
        while (cur!=null){
            ListNode temp =cur.next;
            cur.next=pre;
            pre=cur;
            cur=temp;
        }
        return pre;
    }

标签:pre,head,ListNode,cur,206,反转,next,链表,null
来源: https://blog.csdn.net/qq_34514046/article/details/122788489