第 13 題(鏈表):題目:輸入一個單向鏈表,輸出該鏈表中倒數第 k 個結點。鏈表的倒數第 0 個結點為鏈表的尾指針。鏈表結點定義如下: struct ListNode {int m_nKey;ListNode* m_pNext;}; 我的思路:先翻轉鏈表,再從翻轉后的鏈表的頭向尾數k ...
兩種方法 .在鏈表的初始化數據中加入 num 數據, 每添加一個節點,num加 ,每刪除一個節點,num減 查找倒數第k個元素,即 指向第一個節點的指針向后移動 num k 步。 .使用兩個指針 i 和 j, i和j初始化都指向第一個節點。 查看倒數第k個元素,先將 j 向右移動 k 步。 再將 i 和 j 同時向右移動,直到 j 指向最后一個元素結束。 這時候 i 指向的元素即 倒數第k個元素。 ...
2017-02-23 02:15 0 1733 推薦指數:
第 13 題(鏈表):題目:輸入一個單向鏈表,輸出該鏈表中倒數第 k 個結點。鏈表的倒數第 0 個結點為鏈表的尾指針。鏈表結點定義如下: struct ListNode {int m_nKey;ListNode* m_pNext;}; 我的思路:先翻轉鏈表,再從翻轉后的鏈表的頭向尾數k ...
// test14.cpp : 定義控制台應用程序的入口點。 // ...
題目描述: 輸入一個鏈表,輸出該鏈表中倒數第k個結點。例如有一個鏈表有六個節點1,2,3,4,5,6.則它的倒數第二個節點為5 節點定義如下: 思路一: 設置一個快指針,一個慢指針。像一把尺子,當尺子的一端移動到鏈表的末尾,則另一端則為倒數第k個節點。 思路 ...
題目:輸入一個鏈表,輸出該鏈表中倒數第k個結點 代碼如下 運行截圖 ...
求鏈表的倒數第K個節點:主要思路設置兩個指針,剛開始都指向鏈表的第一個節點,第一個指針先走k-1步,然后兩個一塊走,直到第一個指針的下一位為nullptr,則第二個指針所指的位置就是倒數第k個節點。 在編程書上看見這個方法,自己畫了個鏈表試了試果然是這樣,但是這是個什么原理 ...
LeetCode–鏈表中倒數第k個節點 博客說明 文章所涉及的資料來自互聯網整理和個人總結,意在於個人學習和經驗匯總,如有什么地方侵權,請聯系本人刪除,謝謝! 介紹 劍指 Offer 22. 鏈表中倒數第k個節點 題目 輸入一個鏈表,輸出該鏈表中倒數第k個節點。為了符合 ...
題目 輸入一個鏈表,輸出該鏈表中倒數第k個結點。為了符合大多數人的習慣,本題從1開始計數,即鏈表的尾結點是倒數第1個結點。例如一個鏈表有6個結點,從頭結點開始它們的值依次是1、2、3、4、5、6。這個鏈表的倒數第3個結點是值為4的結點。 解題思路 1.不可行的常規解法 為了得到倒數第k ...
1、先將鏈表遍歷一次,求出鏈表的長度,之后再進行查找,找出第n-k個節點就是倒數第k個節點。 2、設置一個指針,一次向后移動k次,如果最后一次指向空節點,說明鏈表已經結束,那么第一次指向的節點就是倒數第k個節點。 3、設置兩個指針,中間差k-1,當第一個節點移動到末尾時,第二個節點指向 ...