1、如果能從鏈表尾部開(kāi)始遍歷,那只需倒序遍歷 k 個(gè)節(jié)點(diǎn)即是要找出的節(jié)點(diǎn),但是由于是單鏈表,只能從頭結(jié)點(diǎn)開(kāi)始遍歷。
2、先遍歷一遍該單鏈表,獲取鏈表的總節(jié)點(diǎn)數(shù) n,那么第 n-k+1 這個(gè)節(jié)點(diǎn)就是倒數(shù)第 k 個(gè)節(jié)點(diǎn)。所以第二次再遍歷到第 n-k+1 這個(gè)節(jié)點(diǎn)即可,但是題目要求只能遍歷一遍鏈表。
3、通過(guò)遍歷該鏈表把節(jié)點(diǎn)都存入到一個(gè)數(shù)組中,然后再通過(guò)數(shù)組下標(biāo)可直接獲取到倒數(shù)第 k 個(gè)節(jié)點(diǎn),但是這樣會(huì)需要額外的存儲(chǔ)空間,空間復(fù)雜度為 O(n)。
本文到此結(jié)束,希望對(duì)大家有所幫助。