[LeetCode]Palindrome Linked List
来源:互联网 发布:医药魔方销售数据库 编辑:程序博客网 时间:2024/06/02 13:48
Given a singly linked list, determine if it is a palindrome.
利用之前完成的link 翻转。首先找到中间节点,然后对后半link翻转和前半段对比。如果一样说明link是回文。
/** * 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 *fast = head; ListNode *slow = head; ListNode *head1 = head; while(fast->next&&fast->next->next){ fast = fast->next->next; slow = slow->next; } ListNode *temp = reverseList(slow->next);//翻转后半段link while(temp){ if(head1->val != temp->val){ return false; } head1 = head1->next; temp = temp->next; } //对比 return true; } ListNode* reverseList(ListNode* head) { if(head==NULL) return NULL; ListNode* pre = new ListNode(-1); pre->next = head; ListNode* cur = head; ListNode* nex = head; while(cur->next){ nex = cur->next; cur->next = nex->next; nex->next = pre->next; pre->next = nex; } return pre->next; }};
0 0
- LeetCode Palindrome Linked List
- LeetCode - Palindrome Linked List
- leetcode: Palindrome Linked List
- Leetcode: Palindrome Linked List
- leetcode:Palindrome Linked List
- [LeetCode] Palindrome Linked List
- LeetCode || Palindrome Linked List
- 【leetcode】Palindrome Linked List
- LeetCode-Palindrome Linked List
- Leetcode|Palindrome Linked List
- [leetcode] Palindrome Linked List
- [LeetCode]Palindrome Linked List
- [Leetcode]Palindrome Linked List
- [leetcode] Palindrome Linked List
- [leetCode] Palindrome Linked List
- LeetCode----Palindrome Linked List
- LeetCode:Palindrome Linked List
- LeetCode Palindrome Linked List
- nrf51822 --- flash(操作单片机自带)
- 大数乘法
- 第五周项目2-游戏中的角色类(2)
- hdoj-2141-Can you find it?
- 第五周项目1:三角形类雏形(1)
- [LeetCode]Palindrome Linked List
- Java 封装 HDFS API 操作
- 生成boot.img的脚本
- 每天一个Linux命令
- 周总结3.26
- leetcode 130. Surrounded Regions
- hive与es之间实现数据交互
- 周总结3.18
- vim Ctags 安装与使用