OJ 判斷鍊錶是否為回文結構

2021-10-12 07:35:34 字數 450 閱讀 3530

思路:先找到鍊錶的中間節點,然後將鍊錶從中間節點之後的後半段反轉;然後將前半段與後半段逐一進行比較。

//鍊錶的建立

struct listnode

;bool ispalindrome

(struct listnode* head)

//將後半段進行反轉

struct listnode* newhead =

null

;struct listnode* next =

null

;struct listnode* cur = one;

while

(cur)

//逐一比較,是回文結構返回true;不是則返回false。

while

(head&&newhead)

return true;

}

判斷鍊錶是否為回文結構

給定乙個鍊錶的頭節點 head,請判斷該鍊錶是否為回文 正反結構相同 結構。如果鍊錶長度為 n,時間複雜度達到 o n 額外空間複雜度達到 o 1 參考 程式設計師 面試指南 放入棧,時間複雜度o n 空間複雜度o n bool ispalindrome1 node head while null ...

判斷是否為回文結構

法一 棧 時間o n 空間o n public static boolean ispanlindrome node head second second.next second指向後半部分第乙個元素 stackstack new stack while second null while stack...

判斷鍊錶是否回文結構(c )

這是一道基礎的鍊錶知識,判斷鍊錶是否回文結構。在這裡我使用了快慢指標法。慢指標 p1每次走一步 p1 next 快指標 p1每次走兩步 p1 next next 主要想法 當p2走到末尾時,p1只走了整個行程的一半,只要將剩下部分逆序就可以進行判斷了 當p2為空時,p1剛好走到了中間的位置,程式如下...