leetcode234 C 28ms 回文鍊錶

2022-08-18 18:36:08 字數 612 閱讀 2477

/**

* definition for singly-linked list.

* struct listnode

* };

*/class solution

listnode* p_len = head;

int len = 0;

while(p_len != nullptr)

listnode* right = head;

listnode* curr = head;

listnode* prev = nullptr;

for(int i=0;i<(len/2);i++)

if(len%2 == 1)

while(prev !=nullptr && right != nullptr)

prev=prev->next;

right=right->next;

}return true;

}};

思路是:

先遍歷第一遍得到長度。

取兩個指標,第乙個指標配合prev指標將前半部分反轉,第二個指標順勢移到鍊錶的中間右邊的節點。

這樣兩個指標分別從中間向左右移動,互相比較。

鍊錶 回文鍊錶(leetcode234

把鍊錶中所有元素儲存到棧中,也就實現了將鍊錶中的元素逆序存放到棧中。然後再將棧中元素乙個乙個出棧並和鍊錶比對,將鍊錶乙個乙個往下指 時空間複雜度 o n public static boolean ispalindrome listnode head stackstack new stack lis...

LeetCode第234題 回文鍊錶

請判斷乙個鍊錶是否為回文鍊錶。示例 1 輸入 1 2輸出 false 示例 2 輸入 1 2 2 1輸出 true 解法一 可以使用棧先進後出的特點進行解題,遍歷鍊錶將所有元素進行壓棧,然後再從頭遍歷一次鍊錶,與棧彈出的節點進行對比,看是否相等。需要注意的是比較的是節點的value值是否相等,而不是...

leetcode 234 回文鍊錶 C

請判斷乙個鍊錶是否為回文鍊錶。示例 2 輸入 1 2 2 1 輸出 true高階 你能否用 o n 時間複雜度和 o 1 空間複雜度解決此題?方法一 反轉鍊錶 快慢指標找到中點,然後把中點之後的鍊錶反轉。再比對 class solution return pre public bool ispali...