206. 反转链表

 

 

使用迭代得方法,用3个指针,分别指向后一个元素,当前元素和前一个元素,

null->1->2,flow=null,curr=1,prev=2,迭代时将flow指向curr得next,再将flow指向curr,

最后将prev覆盖curr即可。时间O(n),空间O(1)

public ListNode reverseList(ListNode head) {       
        ListNode prev=head,curr=head,flow=null;
        while(curr!=null){
            prev = prev.next;
            curr.next=flow;
            flow = curr;
            curr =prev;
        }
        return flow;
    }

 

posted @ 2021-04-06 15:00  jchen104  阅读(36)  评论(0)    收藏  举报