LintCode_223 Palindrome Linked List
来源:互联网 发布:mac如何切换搜狗输入法 编辑:程序博客网 时间:2024/06/03 14:13
Implement a function to check if a linked list is a palindrome.
Example
Given 1->2->1
, return true
Challenge
Could you do it in O(n) time and O(1) space?
找到中间点, 然后开始检查:
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: /** * @param head a ListNode * @return a boolean */ bool isPalindrome(ListNode* head) { // Write your code here if (head == NULL || head->next == NULL) return true; int len = 0; ListNode* node = head; while (node != NULL) { len++; node = node->next; } int half_len = 0; int first_end = 0; if (len % 2 == 0) { half_len = len / 2 + 1; first_end = len / 2; } else { half_len = len / 2 + 2; first_end = len / 2; } ListNode* half_start = head; int i = 1; while (i != half_len) { half_start = half_start->next; i++; } node = head; stack<int> stk; for (int i = 1; i <= first_end; i++) { stk.push(node->val); node = node->next; } while (half_start != NULL) { if (half_start-> val != stk.top()){ return false; } else { stk.pop(); half_start = half_start->next; } } return true; }};
0 0
- LintCode_223 Palindrome Linked List
- Palindrome Linked List
- Palindrome Linked List
- Palindrome Linked List
- leetoj Palindrome Linked List
- Palindrome Linked List
- Palindrome Linked List
- Palindrome Linked List
- Palindrome Linked List
- Leetcode47: Palindrome Linked List
- Palindrome Linked List
- 234Palindrome Linked List
- LeetCode Palindrome Linked List
- LeetCode - Palindrome Linked List
- leetcode: Palindrome Linked List
- Palindrome Linked List 234
- Palindrome Linked List
- Palindrome Linked List
- 如何加密/弄乱C源代码
- 51Nod-1417-天堂里的游戏
- Git学习
- LintCode_200 Longest Palindromic Substring
- LintCode_204 Singleton
- LintCode_223 Palindrome Linked List
- LintCode_249 Count of Smaller Number before itself
- LintCode_362 Trapping Rain Water
- LintCode_365 Count 1 in Binary
- make j* make j4 make j8 区别
- find the largest subsquare surrounded by ‘w’ 和‘W’
- 第56课:Spark中的Tungsten内存和CPU的优化使用
- WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!解决办法
- VMware 虚拟机 Ubuntu 系统执行 ifconfig 命令 eth0没有IP地址(intet addr、Bcast、Mask) 解决:UP BROADCAST MULTICAST 问题