摘要:題目輸入一個鏈表,輸出該鏈表中倒數第個結點。思路簡單思路循環到鏈表末尾找到在找到節點需要循環兩次。優化設定兩個節點,間距相差個節點,當前面的節點到達終點,取后面的節點。本題目著重考察代碼魯棒性容錯率需要考慮為,為,大于鏈表長度的情況代碼
題目
輸入一個鏈表,輸出該鏈表中倒數第k個結點。
思路簡單思路: 循環到鏈表末尾找到 length 在找到length-k節點 需要循環兩次。
優化:設定兩個節點,間距相差k個節點,當前面的節點到達終點,取后面的節點。
前面的節點到達k后,后面的節點才出發。
本題目著重考察代碼魯棒性、容錯率: 需要考慮head為null,k為0,k大于鏈表長度的情況
代碼function FindKthToTail(head, k) { if (!head || !k) return null; let front = head; let behind = head; let index = 1; while (front.next) { index++; front = front.next; if (index > k) { behind = behind.next; } } return (k <= index) && behind; }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/108891.html
摘要:劍指中鏈表相關題目俗話說光說不練假把式,既然學習了鏈表的基礎概念和基本操作那我們一定要找些題目鞏固下,下面來看劍指中的相關題目。題目分析合并兩個排序的鏈表,需要分別比較兩個鏈表的每個值,然后改變指針。 溫故知新 鏈表由一個一個的作為節點的對象構成的,每一個節點都有指向下一個節點的指針,最后一個節點的指針域指向空。每個節點可以存儲任何數據類型。 根據類型可以分為單鏈表、雙鏈表、環形鏈表、...
摘要:思路查找倒數第個節點,可以看做是查找正序第個節點可以根據第一題的結果取數組的第個節點使用思路輸入一個鏈表,反轉鏈表后,輸出新鏈表的表頭。 前言 ??在寫項目的時候會發現,并沒有使用很多關于鏈表的東西,大多數情況使用的都是數組,但是由于在準備校招,很多公司都會考到這個問題,所以準備對鏈表的相關操作進行總結,并對其中的重難點進行強調,最后還會附加幾道關于鏈表的算法題,那么現在就開始吧! ...
閱讀 4365·2021-11-24 10:24
閱讀 1409·2021-11-22 15:22
閱讀 2038·2021-11-17 09:33
閱讀 2428·2021-09-22 15:29
閱讀 515·2019-08-30 15:55
閱讀 1652·2019-08-29 18:42
閱讀 2731·2019-08-29 12:55
閱讀 1772·2019-08-26 13:55