乐趣区

关于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;
退出移动版