leetcode(力扣)算法刷题-回文链表
描述:
给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。
示例 1:
输入:head = [1,2,2,1]
输出:true
示例 2:
输入:head = [1,2]
输出:false
思路:
对于本题来说,链表这种弯弯绕绕的东西,可以把它转换成数组,取出其中的值,然后反转,判断与原数组是否相等即可。
bool isPalindrome(ListNode* head) {
vector<int>node_array;
vector<int>node_array_flip;
while(head!=NULL)
{
node_array.push_back(head->val);//取出结点值
head=head->next;
}
node_array_flip=node_array;
reverse(node_array.begin(),node_array.end());//反转
if(node_array_flip==node_array)
{
return true;
}
return false;
}