LeetCode:Palindrome Linked List
2015-08-04 10:59
423 查看
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?
回文链表即原链表与逆置链表相同,采用辅助栈的特点将链表逆置。(知道链表长度,可以将链表节点顺序映射到数组中,使用数组直接定位元素的特点也可以得到o(n)的时间复杂度)
Follow up:
Could you do it in O(n) time and O(1) space?
回文链表即原链表与逆置链表相同,采用辅助栈的特点将链表逆置。(知道链表长度,可以将链表节点顺序映射到数组中,使用数组直接定位元素的特点也可以得到o(n)的时间复杂度)
/** * 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; stack<int> lstack; //元素入栈 ListNode *p=head; while(p) { lstack.push(p->val); p=p->next; } //元素出栈与链表比较 p=head; while(p) { if(p->val!=lstack.top()) return false; lstack.pop(); p=p->next; } return true; } };
相关文章推荐
- 国内从事GIS行业的公司及其网址
- 开源资源下载网站
- POJ 2709 混合颜料 acm 贪心
- HDU 2159 FATE(二维费用背包)
- 从零开始学Python
- 面试题40_数组中只出现一次的数字
- 套接字联网API之二 select作用和案例
- 一种打印螺旋式矩阵的方法
- 欢迎使用CSDN-markdown编辑器
- hadoop2.6伪分布+pig0.15+zookeeper3.4.6安装
- Android仿qq聊天记录长按删除功能效果
- subversion SVN
- [hdu1028]整数拆分,生成函数
- HTML5 FormData 用jquery 异步上传报错
- Android仿qq聊天记录长按删除功能效果
- php面向对象(OOP)编程完整教程
- iOS-UIkit复习和代理的使用实现文本框限制输入字数控制
- Eclipse全屏调试时,如何屏蔽控制台console弹出骚扰!!!
- oracle case where 复杂sql语句
- 简单记录平时常用容易混淆的小知识点