关于java:22-链表中倒数第k个节点双指针

22. 链表中倒数第k个节点

思路一:

失去长度,再正着走到len-k的中央。

  • 留神:
    res=3~1,就是3个节点了所以条件是res!=1而不是res!=0

思路二:双指针之首尾指针

两指针i,j距离k,j到null了,i就是倒数第k个

  • 留神:
    k是倒数第几,比方倒数第1,两个指针也要差1,所以条件是k!=0,而不是k!=1
            ListNode i = head;
            ListNode j = head;
            while(k!= 0){
                i = i.next;
                k--;
            }
            while(i!=null){
                i = i.next;
                j = j.next;
            }
            return j;

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理