leetcode 日经贴,Cpp code -Palindrome Linked List

原创 2015年07月10日 16:04:07

Palindrome Linked List

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
    bool isPalindrome(ListNode* head) {
        if (!head || !head->next) {
            return true;
        }
        //find the mid node
        ListNode *h1 = head, *h2 = head;
        while (h2 && h2->next) {
            h1 = h1->next;
            h2 = h2->next->next;
        }
        //reverse the second part
        ListNode *h3 = h2? h1->next: h1;
        h2 = h3->next;
        h3->next = NULL;
        while (h2) {
            h1 = h2->next;
            h2->next = h3;
            h3 = h2;
            h2 = h1;
        }
        h1 = head;
        while (h3) {
            if (h3->val != h1->val) {
                return false;
            }
            h3 = h3->next;
            h1 = h1->next;
        }
        return true;
    }
};


LeetCode--Linked List.cpp

  • 2015年12月14日 22:22
  • 23KB
  • 下载

<LeetCode OJ> 234. Palindrome Linked List

234. Palindrome Linked List My Submissions Question Total Accepted: 33856 Total Submissions: 129...

LeetCode 234. Palindrome Linked List(对称链表)

原题网址:https://leetcode.com/submissions/detail/58253344/ Given a singly linked list, determine if it...
  • jmspan
  • jmspan
  • 2016年04月06日 05:36
  • 531

leetcode No234. Palindrome Linked List

QuestionGiven a singly linked list, determine if it is a palindrome. 判断链表是否为回文Algorithm需要解决的问题: 1、...

[leetcode] Palindrome Linked List

题目链接在此 Given a singly linked list, determine if it is a palindrome. Follow up: Could yo...

234.[LeetCode]Palindrome Linked List

一个要求时间复杂度是 O(n),空间复杂度是 O(1) 的判断链表是否是回文的// 时间和空间复杂度都有限的情况下来做运算 // 还是很简单的,遍历一遍链表,使用两个数,正向和逆向的存储我们的链表(1...

[理解leetcode解法]234. Palindrome Linked List 回文链表

[理解leetcode解法]234. Palindrome Linked List 回文链表 Given a singly linked list, determine if it is a pal...

LeetCode-Easy部分标签为LinkedList 234. Palindrome Linked List

根据回文数定义和单链表特点,求单链表是否为回文链表。要求时间复杂度O(n),空间复杂度O(1)。 思路,将后半部分反转,与前半部分元素一一比较。...

Leetcode——234. Palindrome Linked List

题目Given a singly linked list, determine if it is a palindrome.Follow up: Could you do it in O(n) ti...

leetcode 234. Palindrome Linked List-回文链表|双指针

原题链接:234. Palindrome Linked List 【思路】 题目要求时间复杂度为 O(n),空间复杂度为O(1),那么蛮力算法首先排除了。 链表长度分为奇数和偶数情况。如图所示,我...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:leetcode 日经贴,Cpp code -Palindrome Linked List
举报原因:
原因补充:

(最多只允许输入30个字)