刷題第二天
203. 移除鏈表元素:
這題很簡(jiǎn)單,就鏈表的刪除。需要注意的是,我本來(lái)以為這里的頭結(jié)點(diǎn)是不存數(shù)據(jù)的,一開(kāi)始沒(méi)考慮。后面測(cè)試數(shù)據(jù)的時(shí)候才發(fā)現(xiàn)頭結(jié)點(diǎn)有數(shù)據(jù)。不過(guò),問(wèn)題不大,手動(dòng)加一個(gè)頭結(jié)點(diǎn)就OK了。

206. 反轉(zhuǎn)鏈表:
這題也很簡(jiǎn)單。遍歷鏈表,將節(jié)點(diǎn)不斷插到新鏈表前,新鏈表需要頭結(jié)點(diǎn)。

24. 兩兩交換鏈表中的節(jié)點(diǎn):
這題的關(guān)鍵依然是新增一個(gè)頭結(jié)點(diǎn),設(shè)置p和q分別指向需要交換的兩個(gè)節(jié)點(diǎn),循環(huán)條件為p和q均不為null,因?yàn)槿绻鹮為null,說(shuō)明無(wú)法交換了,那么就不必進(jìn)行了。

19. 刪除鏈表的倒數(shù)第 N 個(gè)結(jié)點(diǎn):
同樣先新增一個(gè)頭結(jié)點(diǎn),要?jiǎng)h除倒數(shù)第N個(gè)節(jié)點(diǎn),可以先找到第N個(gè)節(jié)點(diǎn),設(shè)為q,設(shè)p為頭結(jié)點(diǎn)。之后讓p與q同步向后遍歷,直到q為null,此時(shí)p的后面剛好還有N個(gè)節(jié)點(diǎn),p的下一個(gè)節(jié)點(diǎn)即為要?jiǎng)h除節(jié)點(diǎn)。
這里要特別注意是q為第N個(gè)節(jié)點(diǎn),而不是N-1,如果是N-1的話,q為null時(shí),p是剛好為要?jiǎng)h除的節(jié)點(diǎn)。
標(biāo)簽: