(14)鍊錶倒數第k個節點

2021-09-29 08:27:13 字數 631 閱讀 7102

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

使用快慢指標,乙個指標比另乙個指標快k步,當其到末尾時,最後乙個數恰好到達了倒數第k步

/**

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

*/public

class

test14

public

static

class

listnode

}/**

* 這是乙個快慢指標的題,我們保證last指標慢於fast指標k步,

* 那麼fast到達尾部的時候,last到達倒數第 k的位置

* @param head

* @param k

* @return

*/public listnode findkthtotail

(listnode head,

int k)

else

} listnode fast = head;

//fast快於last指標k步

if(fast!=null)

}else

return last.next;

就是倒數第k位

}}

14 鍊錶中倒數第k個節點

輸入乙個鍊錶,輸出該鍊錶中倒數第k個結點。題目思路 除了以下兩種方法,還想到一種方法 將鍊錶倒序,然後找到正數第k個節點,其實這種方法是不行的,因為每個節點都有兩個屬性 next val,倒敘後得到的正數第k個節點,雖然val相同,但是next是不同的.python 方法1 設定兩個指標,乙個先走k...

鍊錶倒數第k個節點

兩個指標一前一後,相距k即可。include include using namespace std struct linknode typedef linknode linklist void insertlist linklist list int data else linknode rese...

鍊錶 倒數第k個節點

問題 刪除倒數第k個節點 鏈結 雙指標法,開始時p1,p2都指向頭節點,先讓p2走k步,然後p1和p2一起走,當p2指向null時,p1就指向倒數第k個節點了 definition for singly linked list.struct listnode class solution retur...