首页 » 编程之美 » 正文

[leetcode]Palindrome Linked List

此提示单链表判断回文,我本来的思路是 逆转单链表前半截,在跑一次,应该能满足时间复杂度o(n)和空间复杂度o(1),但是不知道为啥老判我超时。
看了discuss和hint,其实简单递归一下就可以了。

class Solution {
public:
    ListNode * temp;
    bool isPalindrome(ListNode* head) {
        temp = head;
        return check(head);
    }</p>

<pre><code>bool check(ListNode * node) {
    if (NULL == node) return true;
    bool flag = check(node-&amp;gt;next) &amp;amp; node-&amp;gt;val == temp-&amp;gt;val;
    temp = temp-&amp;gt;next;
    return flag;
}
</code></pre>

<p>};

发表评论