题解 | #判断一个链表是否为回文结构#
判断一个链表是否为回文结构
http://www.nowcoder.com/practice/3fed228444e740c8be66232ce8b87c2f
双端队列
利用两个双端队列,一个头插存储链表,一个尾插存储链表,然后顺序判断即可。
C++代码:
class Solution {
public:
bool isPail(ListNode* head) {
deque<ListNode *> d1, d2;
while (head) {
d1.push_back(head);
d2.push_front(head);
head = head->next;
}
for (int i = 0; i < d1.size(); i++) {
if (d1[i]->val != d2[i]->val) {
return false;
}
}
return true;
}
};