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