22. 链表中倒数第k个节点,双指针

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

image.png

思路一:

获得长度,再正着走到len-k的地方。spa

  • 注意:
    res=3~1,就是3个节点了因此条件是res!=1而不是res!=0

image.png

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

两指针i,j间隔k,j到null了,i就是倒数第k个
image.png指针

  • 注意:
    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;
相关文章
相关标签/搜索