劍指offer 輸出鍊錶倒數第k個節點

2021-10-05 06:47:28 字數 765 閱讀 5260

這是單向鍊錶,我們只能正向遍歷,所以要求倒數第k個節點,就需要知道總節點數cnt,這樣遍歷cnt-k就可以了。

需要注意的是:

1.不可以使用遞迴來求總結點數,會造成棧的溢位。

2.如果k比總結點數還要大,也就是cnt-k<0,則不存在這樣的節點,返回null。

#include

"stdafx.h"

#include

using

namespace std;

struct listnode};

listnode*

findkthtotail

(listnode* plisthead,

unsigned

int k)

;int

end(listnode *root)

;int

_tmain

(int argc, _tchar* ar**)

listnode*

findkthtotail

(listnode* plisthead,

unsigned

int k)

}int

end(listnode *root)

return cnt;

/*if(root->next ==0)

return 0;

root=root->next ;

return end(root)+1;

//會有棧溢位

*/}

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

題目 輸入乙個鍊錶,輸出該鍊錶中倒數第k個結點。思想 利用兩個指標,第乙個指標f到達k之後,新建乙個指標sencond,遍歷最後乙個時sencond則為倒數第k個結點 coding utf 8 class listnode def init self,x self.val x self.next n...

資料結構 劍指offer 輸出鍊錶倒數第k個結點

題目 輸入乙個鍊錶,輸出該鍊錶中倒數第k個結點。本題考查的是 的魯棒性,所謂的魯棒性是指程式能夠判斷輸入是否合乎規範要求,並對不符合要求的輸入予以合理的處理。容錯性是魯棒性的乙個重要體現。提高 魯棒性的有效途徑是進行防禦性程式設計。思路 首先要判斷k值的大小,k的大小為0的話直接返回空,同時k的大小...

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

題目描述 輸入乙個鍊錶,輸出該鍊錶中倒數第k個結點.這種考題是比較簡單的一種,以前也碰到過類似的題目,從耗時來說,一般都是使用兩個指標,一前一後的走,中間間隔k或者k 1個步長,這個視判斷語句而定。當前乙個指標走到末端時,後乙個指標正好落在倒數第k個節點處,直接返回該節點。code public c...