思考:
对于回文问题,如果数据结构是数组的话,使用双指针遍历判断。
但是链表的话没法反正遍历。
想法:
(错误)用栈来判断,如果栈顶的元素和要加入的元素相等,则元素出栈。
这种情况是可以通过的。
但是粗略了另外一种 121
(正确)不装了,摊牌了,直接变为数组。
class Solution {
public:
bool isPalindrome(ListNode* head) {
ListNode* cur = head;
vector<int>vec;
while(cur!= nullptr){
vec.push_back(cur->val);
cur = cur->next;
}
for(int i = 0, j = vec.size() - 1; i <=j; i++, j--){
if(vec[i] == vec[j]) continue;
else{
return false;
}
}
return true;
}
};