/**
* 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...