Leetcode 234 Palindrome Linked List
2016-10-12 17:43
363 查看
Leetcode 234 Palindrome Linked List
原题地址
题目描述: Given a singly linked list, determine if it is a palindrome.
思路
既然是判断它是不是回文单链表,也就是判断它的顺向和逆向是不是相同。我用的是最笨的办法,就是利用一个新的链表存储它的逆向,然后将两个链表的值从头到尾进行比较。逆向的方法是将原链表的每个结点每次插到新链表的头部。
实现
/** * 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) return true; bool flag=true; //reverse生成新链表 ListNode* p3; p3=head->next; ListNode* revL=new ListNode(head->val); while(p3){ ListNode* tmp=new ListNode(0); tmp->val=p3->val; tmp->next=revL; revL=tmp; p3=p3->next; } ListNode* p1; p1=head; ListNode* p2; p2=revL; while(p1 && p2){ if(p1->val!=p2->val) flag=false; p1=p1->next; p2=p2->next; } return flag; } };
# ps: 刚开始由于不是很清楚LeetCode的初始化情况,将tmp初始化为0,结果改代码改到半夜1.30……所以有些小的地方也要注意,否则就是坑自己了。
相关文章推荐
- [LeetCode 234] Palindrome Linked List
- LeetCode#234 Palindrome Linked List
- leetcode-234-Palindrome Linked List
- LeetCode234_PalindromeLinkedList (判断是否为回文链表) Java题解
- LeetCode 234 Palindrome Linked List (链表 快慢指针)
- LeetCode_234 Palindrome Linked List
- LeetCode(234) Palindrome Linked List
- LeetCode(234) Palindrome Linked List
- LeetCode234:Palindrome Linked List
- leetcode 234: Palindrome Linked List
- Leetcode 234 Palindrome Linked List 链表
- leetcode:234. Palindrome Linked List
- Leetcode 234 Palindrome Linked List 复杂度为时间O(n) 和空间(1)解法
- leetcode[234]:Palindrome Linked List
- LeetCode 234 Palindrome Linked List(回文链表)(*)(?)
- LeetCode 234 Palindrome Linked List
- Java [Leetcode 234]Palindrome Linked List
- LeetCode 234 Palindrome Linked List题解
- [Leetcode 234, Easy] Palindrome Linked List
- 【LeetCode】234、Palindrome Linked List