Leetcode 234. Palindrome Linked List
来源:互联网 发布:plc编程标准 编辑:程序博客网 时间:2024/06/05 22:49
题目链接:https://leetcode.com/problems/palindrome-linked-list/
题目描述:
Given a singly linked list, determine if it is a palindrome.
Follow up:
Could you do it in O(n) time and O(1) space?
Subscribe to see which companies asked this question
代码:
/** * 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) {bool re = 1;if (head == NULL || head->next == NULL)re = 1;else{ListNode* p1 = head;//慢指针ListNode* p2 = head->next;ListNode* p3 = head->next;//p3是快指针,移动速度是p1的两倍p1->next = NULL;//反转前半部分链表while (p3!= NULL&&p3->next != NULL){p3 = p3->next->next;ListNode* tmp = p2->next;p2->next = p1;p1 = p2;p2 = tmp;}if (p3 == NULL)//链表长度是奇数,p1指向了中间结点,让p1指向它的前一个结点p1 = p1->next;//开始比较while (p2!= NULL){if (p1->val != p2->val){re = 0;break;}p1 = p1->next;p2 = p2->next;}}return re;}};
0 0
- [leetcode] 234.Palindrome Linked List
- [LeetCode]234.Palindrome Linked List
- [leetcode] 234.Palindrome Linked List
- 【leetcode】234. Palindrome Linked List
- 【LeetCode】234. Palindrome Linked List
- [leetcode] 234. Palindrome Linked List
- 234. Palindrome Linked List LeetCode
- LeetCode--234. Palindrome Linked List
- LeetCode 234. Palindrome Linked List
- 【LeetCode】234. Palindrome Linked List
- leetcode 234. Palindrome Linked List
- LeetCode *** 234. Palindrome Linked List
- LeetCode 234. Palindrome Linked List
- leetcode-234. Palindrome Linked List
- LeetCode-234.Palindrome Linked List
- 【LeetCode】234. Palindrome Linked List
- [Leetcode]234. Palindrome Linked List
- 【leetcode】234. Palindrome Linked List
- 字符串-字符串的全排列-递归实现
- Java:String、Arrays
- word_wrap、word_break和text-overflow的区别
- 数据结构之线性表
- MathJax 引擎数学符号说明
- Leetcode 234. Palindrome Linked List
- SCPPO(二十):系统统一身份认证的改造之路
- 《Android群英传》学习笔记--ADB命令技巧
- android ZLib压缩/解压缩
- C++Primer(第10章课后程序题源代码)
- iOS开发技巧:设置App icon图标及修改应用程序名
- SGU105 Div 3
- 解决win 10系统启动Genymotion 模拟器失败
- codevs 4768 跳石头(二分答案)