劍指offer之十三 鍊錶中倒數第k個結點

2021-08-08 20:52:54 字數 795 閱讀 2951

輸入乙個鍊錶,輸出該鍊錶中倒數第k個結點。

public static listnode findkthtotail(listnode head , int k)

if(k > count)

return null;

q = head;

while(current != (count - k))

return q;

} }

public static listnode findkthtotail(listnode head , int k)

if(k > stack.size())

return null;

else

return stack.pop();

} }

思路三:

**思路如下:兩個指標,先讓第乙個指標和第二個指標都指向頭結點,然後再讓第乙個指正走(k-1)步,到達第k個節點。然後兩個指標同時往後移動,當第乙個結點到達末尾的時候,第二個結點所在位置就是倒數第k個節點了。。

public static listnode findkthtotail(listnode head, int k) 

listnode p = head, q = head;

int count = 1;

while (count < k) else

} while (p.next != null)

return q;

}

劍指offer刷題(十三)鍊錶中倒數第k個結點

輸入乙個鍊錶,輸出該鍊錶中倒數第k個結點。用兩個指標,指標p q最開始都指向 head,p 先向右移動 k 位,然後 p 和 q 再一起同步向右移動,當 p 到達邊界時 p指向空 q 正好指向了倒數第 k 個結點 做完這些還不能通過牛客網的測試,因為出現了 k 會大於整個鍊錶長度的情況,因此在 p ...

劍指offer之鍊表中倒數第k個結點

題目 輸入乙個鍊錶,輸出該鍊錶中倒數第k個結點。為了符合大多數人的習慣,本題從1開始計數,即鍊錶的尾結點是倒數第1個結點。例如乙個鍊錶有6個結點,從頭結點開始它們的值依次是1 2 3 4 5 6。這個鍊錶的倒數第3個結點是值為4的結點。結構體節點 struct listnode listnode f...

《劍指Offer》之鍊表中倒數第k個結點

題目描述 輸入乙個鍊錶,輸出該鍊錶中倒數第k個結點。思路分析 由於是要找到倒數第k個結點,而鍊錶又不可以直接索引,因此,引入棧儲存各個鍊錶的結點,利用棧的反序功能,然後只需要返回第k個結點就可以了 本題中需注意 unsigned int 和int的轉換 k的值不能等於0或者大於鍊錶的總長度 鍊錶為空...