这种水题有很多种解法:
我直接用栈写的,思路就不过多解释了
一共就几行代码,闭着眼睛都能看明白
可优化内存:只将一般压入栈,反正我感觉没必要这么做,如果题目有内存限定可以优化下
/** * 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; } };