回文链表
来源:互联网 发布:空浪 知乎 编辑:程序博客网 时间:2024/06/16 10:47
设计一种方式检查一个链表是否为回文链表。
样例
1->2->1
就是一个回文链表。
挑战
O(n)的时间和O(1)的额外空间。
/** * 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) { return true; } ListNode *p = head; ListNode *q = head; while (p->next != NULL && p->next->next != NULL) { p = p->next->next; q = q->next; } ListNode *r = reverseList(q->next); p = head; while (r != NULL) { if (p->val != r->val) { return false; } p = p->next; r = r->next; } return true; }private: ListNode* reverseList(ListNode *head) { if (head == NULL) { return NULL; } ListNode *p = head->next; ListNode *q = head; q->next = NULL; while (p != NULL) { ListNode *next = p->next; p->next = q; q = p; p = next; } return q; }};
0 0
- 字符串回文判断, 链表回文判断
- 链表回文判断
- 回文链表
- 回文链表(Java)
- 回文链表
- 回文链表
- 回文链表
- 判断回文链表
- 回文链表
- LintCode:回文链表
- 回文链表
- 回文链表
- 回文链表
- 回文链表
- 回文链表
- 链表回文
- LintCode:回文链表
- lintcode,回文链表
- 浅谈WebView的使用
- 关于Toolbar和FragmentActivity的问题
- iOS开发学习之C语言---C05 函数-3
- 《金缕曲·十五年》
- 使用 Salt + Hash 将密码加密后再存储进数据库
- 回文链表
- 欢迎使用CSDN-markdown编辑器
- iOS开发学习之C语言---C06 结构体-1
- Kali Linux 安装完成后的网络配置
- Android提高篇之Adapter的抽象整合
- 九度OJ 1090:路径打印 (树、DFS)
- 划分数
- iOS开发学习之C语言---C06 结构体-2
- boost 之 format