[LeetCode]Palindrome Linked List
2015-09-24 00:14
204 查看
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?
题解:获得链表一半的位置,再将其反转,最后2个半截的链表比较
参考:http://blog.csdn.net/brucehb/article/details/46837209
Follow up:
Could you do it in O(n) time and O(1) space?
题解:获得链表一半的位置,再将其反转,最后2个半截的链表比较
public boolean isPalindrome(ListNode head) { if(head == null || head.next == null) return true; ListNode fast=head,slow=head; while(fast.next!=null && fast.next.next!=null ){ //slow走到一半的位置 slow = slow.next; fast = fast.next.next; } ListNode font = head; slow = reverseList(slow); while(font!=null){ //两个指针比较 if(font.val != slow.val){ return false; } font = font.next; slow = slow.next; } return true; } public ListNode reverseList(ListNode head){ //将后半截链表反转 ListNode temp = head.next,pre = head; while(temp!=null){ ListNode r = temp.next; temp.next = pre; pre = temp; temp = r; } head.next = null; return pre; }
参考:http://blog.csdn.net/brucehb/article/details/46837209
相关文章推荐
- 极光推送基本写法
- 浅谈——用宏封装单例
- 编写struts.xml文件时提示帮助信息
- Linux补丁学习笔记
- java.sql.SQLException的常见原因
- Codeforces Round #321 (Div. 2) E Kefa and Watch (线段树维护Hash)
- POJ 1064 Cable master (二分查找_经典题!!!)
- 编写一个函数,从一个字符串中去除多余的空格。
- 一个PHP操作大变量的例子
- 题目:寻找缺失的数
- [最小割最大流]UVa1515 - Pool construction
- IOS6屏幕旋转详解(自动旋转、手动旋转、兼容IOS6之前系统)
- 浅谈——定位的使用
- 注解(Annotation,JDK5.0新特性)
- IIS6 ASP 页的执行造成响应缓冲区超过其配置限制的解决方法
- Java Spring MVC分层设计
- 浅谈——定位(CoreLocation)的简介
- JavaScript的DOM编程--06--两个实验
- Week2学习过程报告
- NSString 格式化前面带0的数字