234. Palindrome Linked List
来源:互联网 发布:阿里云vps硬盘io 2017 编辑:程序博客网 时间:2024/05/17 00:01
/** * 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; } ListNode *p1 = head, *p2 = head; while (p2->next && p2->next->next) { p1 = p1->next; p2 = p2->next->next; } // the second part's head ListNode *secondHead = p1->next; // reverse the first part ListNode *firstHead = NULL; bool evenNodes = p2->next != NULL; p2 = head; while (p2 != p1) { ListNode *next = p2->next; p2->next = firstHead; firstHead = p2; p2 = next; } if (evenNodes) { p1->next = firstHead; firstHead = p1; } while (firstHead && secondHead) { if (firstHead->val != secondHead->val) { return false; } firstHead = firstHead->next; secondHead = secondHead->next; } return !firstHead && !secondHead; }};
0 0
- 234. Palindrome Linked List
- 234. Palindrome Linked List
- 234. Palindrome Linked List
- 234. Palindrome Linked List
- 234. Palindrome Linked List
- 234. Palindrome Linked List
- 234. Palindrome Linked List
- 234. Palindrome Linked List
- 234. Palindrome Linked List
- 234. Palindrome Linked List
- 234. Palindrome Linked List
- 234. Palindrome Linked List
- 234. Palindrome Linked List
- 234. Palindrome Linked List
- 234. Palindrome (Linked List)
- 234. Palindrome Linked List
- 234. Palindrome Linked List
- 234. Palindrome Linked List
- android下数据库的创建
- 外部链接锚文字包含关键词
- RMQ问题的4解决方案
- 网站概况分析可以认为是网站的“五官”检测
- 机器学习课程 - 概述(standrod课程)
- 234. Palindrome Linked List
- 格式化日期时间的显示
- Java的数据类型-八种基本数据类型和引用数据类型
- 都需要策划一些商业活动
- PAT1029旧键盘
- 树和递归(一)[leetcode]Balanced Binary Tree
- 继承总结
- hdu-1020
- Objective-C Runtime