给你一个单链表的头节点 head
,请你判断该链表是否为
回文链表
。如果是,返回 true
;否则,返回 false
。
示例 1:
输入:head = [1,2,2,1] 输出:true
示例 2:
输入:head = [1,2] 输出:false
思路
入栈
代码
class Solution {
public:
bool isPalindrome(ListNode* head) {
ListNode *node = head;
stack<int> st;
while(node != nullptr)
{
st.push(node->val);
node = node->next;
}
while(head != nullptr)
{
if(head->val != st.top())
return false;
st.pop();
head = head->next;
}
return true;
}
};