判斷一個鏈表迴文結構

思路1:額外空間複雜度O(n)

申請棧,全部壓棧之後,彈出進行比較

思路2:額外空間複雜度O(n/2)

申請棧,利用快慢指針,快指針每次走2步,慢指針每次走1步,快指針指向空的時候,

慢指針會到棧的中間,後續元素進行壓棧操作,然後指針從最開始走,和堆棧元素進行

比較

思路3:額外空間複雜度 O(1)

快慢指針,快指針走到末尾的時候,慢指針在中間,將慢指針的next置爲NULL,快指針

後半部分進行逆序操作,然後從兩端開始進行遍歷比較,最後把後半部分順序調整回去

注意鏈表的奇偶性

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章