LeetCode-E-Palindrome Linked List
来源:互联网 发布:js改变style display 编辑:程序博客网 时间:2024/06/13 20:36
题意
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.
Show Tags
Show Similar Problems
解法
双指针,翻转后半段链表,和前半段做对比
实现
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* reverseList(ListNode* head) { if(head == NULL || head->next == NULL) return head; ListNode* cur = head; while(cur->next != NULL){ ListNode* next = cur->next; cur->next = next->next; next->next = head; head = next; } return head; } bool isPalindrome(ListNode* head) { if(head == NULL || head->next == NULL) return true; ListNode* fast = head; ListNode* slow = head; ListNode* pre = NULL; while(fast != NULL && fast->next != NULL){ fast = fast->next->next; pre = slow; slow = slow->next; } pre->next = NULL; if(fast != NULL && fast->next == NULL) slow = slow->next; ListNode* rhead = reverseList(slow); ListNode* p = head; ListNode* q = rhead; while(q != NULL && p != NULL){ if(p->val != q->val) return false; p = p->next; q = q->next; } if(q != NULL || p != NULL) return false; return true; }};
0 0
- LeetCode-E-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
- 各种框架、插件学习
- 插入排序及哨兵的作用
- mac os+python3+opencv3环境配置
- 学习笔记TF008:机器学习基础 线性回归
- javascript中给结构添加标签并添加上类
- LeetCode-E-Palindrome Linked List
- PMOS 和 NMOS使用总结
- nexus-3.0.0-03-win64
- MYSQL 索引 主键 外键
- 建立自已的YUM源服务器,并rpmbuild自已的rpm包
- 欢迎使用CSDN-markdown编辑器
- [转载]Python2.x和Python3.x的区别
- Spark搭建过程(小白带所有安装包)
- SAP HANA SQL获取某字符串的位置