力扣 234 回文鍊錶

2021-09-29 21:05:05 字數 741 閱讀 6154

1.快慢指標

找中點(注意奇偶)

分開反轉後半鏈

比較(以後半鏈為主)

class

solution

listnode *cur=low-

>next;

//後半鏈當前指標

listnode *pre=null;

//用於反轉 摘掉結點 頭插法

low-

>next=null;

//斷鏈

low=head;

//重置low

//反轉

while

(cur)

//注意結束條件

//比較判斷

while

(pre)

//此時pre在後半鏈第乙個

return

true;}

};

2.利用動態陣列(向量)

將節點的值存入向量中,從兩端開始遍歷,不等則false

**:

class

solution

int i=0;

int j=list.

size()

-1;while

(ireturn

true;}

};

兩種方法效率對比:

力扣 234 回文鍊錶

一 題目描述 請判斷乙個鍊錶是否為回文鍊錶。示例 1 輸入 1 2 輸出 false 示例 2 輸入 1 2 2 1 輸出 true 二 解題思路 1 先找到鍊錶的中間節點。2 對中間結點的後半部分進行逆置。3 從鍊錶的頭節點和逆置之後的新頭節點進行比較即可。注意 鍊錶的長度為奇數個節點和偶數個節點...

力扣(LeetCode)234 回文鍊錶

請判斷乙個鍊錶是否為回文鍊錶。示例 1 輸入 1 2 輸出 false 示例 2 輸入 1 2 2 1 輸出 true 高階 你能否用 o n 時間複雜度和 o 1 空間複雜度解決此題?思路 尋找中間結點,然後將後半部分鍊錶倒置,後半部分鍊錶長度是小於或等於原鍊錶的,所以根據後半部分鍊錶來確定對比迴...

力扣 leetcode 234 回文鍊錶

判斷乙個鍊錶是否是回文鍊錶 並用 o n 時間複雜度和 o 1 空間複雜度解決此題?示例 1 輸入 1 2 輸出 false 示例 2 輸入 1 2 2 1 輸出 true 用快慢指標找到鍊錶的中點,對後半部分的鍊錶就地逆置,再進行比較 definition for singly linked li...