判断一个链表是否为回文结构

题目描述

给定一个链表,请判断该链表是否为回文结构。

题解:

直接将链表内的数据存入string中,然后从两端开始向中间判断即可

代码:

/** * struct ListNode { * int val; * struct ListNode *next; * }; */

class Solution {
   
public:
    /** * * @param head ListNode类 the head * @return bool布尔型 */
    bool isPail(ListNode* head) {
   
        // write code here
        string s = "";
        if(!head) return true;
        
        while(head)
        {
   
            s += (head->val + '0');
            head = head->next;
        }
        int i = 0, j = s.size() - 1;
        while(i < j)
        {
   
            if(s[i ++] != s[j --]) return false;
        }
        return true;
    }
};