題目描述: 輸入一個鏈表,輸出該鏈表中倒數第k個結點。為了符合習慣,從1開始計數,即鏈表的尾結點是倒數第1個節點。例如,一個鏈表有6個結點,從頭結點開始,它們的值依次是1,2,3,4,5,6。則這個鏈表倒數第三個結點是值為4的結點。 解題思路: 對於單鏈表來說,沒有從后向 ...
題目描述: 輸入一個鏈表,輸出該鏈表中倒數第k個結點。例如有一個鏈表有六個節點 , , , , , .則它的倒數第二個節點為 節點定義如下: 思路一: 設置一個快指針,一個慢指針。像一把尺子,當尺子的一端移動到鏈表的末尾,則另一端則為倒數第k個節點。 思路二: 兩次遍歷。第一次遍歷出鏈表的長度n,第二次遍歷獲取鏈表第n k 個節點。 思路三: 借助棧來存儲所有節點,在利用出棧獲取倒數第k個節點 ...
2019-09-03 13:37 0 343 推薦指數:
題目描述: 輸入一個鏈表,輸出該鏈表中倒數第k個結點。為了符合習慣,從1開始計數,即鏈表的尾結點是倒數第1個節點。例如,一個鏈表有6個結點,從頭結點開始,它們的值依次是1,2,3,4,5,6。則這個鏈表倒數第三個結點是值為4的結點。 解題思路: 對於單鏈表來說,沒有從后向 ...
// test14.cpp : 定義控制台應用程序的入口點。 // ...
正文 本文參考自《劍指offer》一書,代碼采用Java語言。 更多:《劍指Offer》Java實現合集 題目 輸入一個鏈表,輸出該鏈表中倒數第k個結點。為了符合大多數人的習慣,本題從1開始計數,即鏈表的尾結點是倒數第1個結點。例如一個鏈表有6個結點,從頭結點開始它們的值依次是 ...
題目:輸入一個鏈表,輸出該鏈表中倒數第k個結點 代碼如下 運行截圖 ...
第 13 題(鏈表):題目:輸入一個單向鏈表,輸出該鏈表中倒數第 k 個結點。鏈表的倒數第 0 個結點為鏈表的尾指針。鏈表結點定義如下: struct ListNode {int m_nKey;ListNode* m_pNext;}; 我的思路:先翻轉鏈表,再從翻轉后的鏈表的頭向尾數k ...
PS:這是一道出境率極高的題目,記得去年參加校園招聘時我看到了3次,但是每次寫的都不完善。 一、題目:鏈表的倒數第k個節點 題目:輸入一個鏈表,輸出該鏈表中倒數第k個結點。為了符合大多數人的習慣,本題從1開始計數,即鏈表的尾結點是倒數第1個結點。例如一個鏈表有6個結點,從頭結點 ...
題目描述: 輸入一個鏈表,輸出該鏈表中倒數第k個結點。(hint: 請務必使用鏈表。) 輸入: 輸入可能包含多個測試樣例,輸入以EOF結束。對於每個測試案例,輸入的第一行為兩個整數n和k(0<=n<=1000, 0< ...
兩種方法 1.在鏈表的初始化數據中加入 num 數據, 每添加一個節點,num加1,每刪除一個節點,num減1 查找倒數第k個元素,即 指向第一個節點的指針向后移動 num - k 步。 2.使用兩個指針 i 和 j, i和j初始化都指向第一個節點。 查看倒數第k個元素,先將 j ...