劍指offer 14 鍊錶中倒數第k個結點

2021-09-02 16:38:10 字數 482 閱讀 9801

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

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

/*

public class listnode

}*/public

class

solution14

listnode p=head,q;

for(

int i=

1;i)else

} q=head;

while

(p.next!=null)

return q;

}public

static

void

main

(string[

] args)

}

劍指Offer (14)鍊錶中倒數第k個結點

題目描述 輸入乙個鍊錶,輸出該鍊錶中倒數第k個結點。實現如下 最後乙個節點定義為倒數第乙個節點 1 2 3 4 5 p s p s eg.尋找倒數第3個節點 k 1 2 要想一次遍歷找到倒數第k個節點,關鍵在於最後乙個節點與倒數第k個節點之間相差k 1個節點 所以要保證兩個指標之間一直保持k 1個節...

劍指offer14 鍊錶中倒數第k個結點

題目描述 輸入乙個鍊錶,輸出該鍊錶中倒數第k個結點。解決思路 1.備份初始結點 2.計數結點個數 3.判斷是否超出 4.正序遍歷得到第count k個結點 public class solution if countreturn null for int i 0 i這種方法比較笨拙,相當於正序遍歷了...

劍指Offer(14) 鍊錶中倒數第k個結點

輸入乙個鍊錶,輸出該鍊錶中倒數第k個結點。定義兩個指標。第乙個指標從煉表頭開始向後走k步,第二個指標保持不動 從第k 1步開始,第二個指標也開始從鍊錶的頭指標開始遍歷。由於兩個指標的距離保持在k,當第乙個指標到達鍊錶的尾結點後的null時,第二個指標指向的正好是倒數第k個結點。例如 要找倒數第3個結...