leetcode-234. Palindrome Linked List
来源:互联网 发布:js获取指定网页内容 编辑:程序博客网 时间:2024/05/29 11:20
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
思路:fast和slow两个指针,fast每次走两步,slow1步,当fast到底时slow中间。把后半部分链表翻转,再和前半部分比较。注意奇数节点和偶数节点
/** * 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 == NULL || head->next == NULL) { return true; } ListNode* slow = head; ListNode* fast = head; while(fast->next && fast->next->next) { slow = slow->next; fast = fast->next->next; } //反转后半部分 slow = reversalList(slow->next); //slow = slow->next; while(slow) { if(head->val != slow->val) { return false; } head = head->next; slow = slow->next; } return true; } ListNode* reversalList(ListNode* head) { ListNode* next = NULL; ListNode* pre = NULL; while(head) { next = head->next; head->next = pre; pre = head; head = next; } return pre; }};
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
- 第四次上机实验
- Block
- 博客开通,记一下自己的用户名由来
- 进程间的通信(互斥锁、条件变量、读写锁、文件锁、信号灯)
- javascript实现jsonp跨域访问
- leetcode-234. Palindrome Linked List
- CodeForces - 237C Primes on Interval (素数打表&二分)
- hdu 2181 哈密顿绕行世界问题 (dfs)
- JavaScrip随机生成五十位学生加学号
- ffmpeg 将图片序列合成为一段视频
- Struts2基础知识(三)
- apache+tomcat集群配置
- 3递归爬楼梯
- CPU流水线的探秘之旅