这种水题有很多种解法:
我直接用栈写的,思路就不过多解释了
一共就几行代码,闭着眼睛都能看明白
可优化内存:只将一般压入栈,反正我感觉没必要这么做,如果题目有内存限定可以优化下
/**
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
class Solution {
public:
/**
*
* @param head ListNode类 the head
* @return bool布尔型
*/
bool isPail(ListNode* head) {
// write code here
//直接用栈写 okk
stack<int>sta;
ListNode *p = head;
while(p != nullptr)
{
sta.push(p->val);
p = p->next;
}
p = head;
while(p != nullptr)
{
if(p->val != sta.top())
{
break;
}
sta.pop();
p = p->next;
}
if(p == nullptr)
{
return true;
}
return false;
}
};