leetcode234. Palindrome Linked List
来源:互联网 发布:java aplication 编辑:程序博客网 时间:2024/05/05 16:47
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),空间复杂度为O(1)满足题目要求。
# Definition for singly-linked list.# class ListNode(object):# def __init__(self, x):# self.val = x# self.next = Noneclass Solution(object): def reverseList(self, head): """ :type head: ListNode :rtype: ListNode """ if head==None: return None p1=None p2=head while(p2): tmp=p2.next p2.next=p1 p1=p2 p2=tmp return p1 def isPalindrome(self, head): """ :type head: ListNode :rtype: bool """ if head==None or head.next==None: return True fast=head slow=head while(fast and fast.next): slow=slow.next fast=fast.next.next if fast: slow=self.reverseList(slow.next) else: slow=self.reverseList(slow) while(slow): if head.val!=slow.val: return False slow=slow.next head=head.next return True
0 0
- LeetCode234:Palindrome Linked List
- leetcode234. Palindrome Linked List
- leetcode234~Palindrome Linked List
- [leetcode234]Palindrome Linked List
- Leetcode234. Palindrome Linked List
- leetcode234---Palindrome Linked List(回文链表)
- Leetcode234 - Palindrome Linked List(链表)
- LeetCode234——Palindrome Linked List,O(n) time and O(1) space
- 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
- 从Eclipse到AndroidStudio(四)Gradle基本配置
- 《算法》电子版书籍下载
- 【论文笔记】Spatial Transformer Networks
- Android应用性能优化之使用SparseArray替代HashMap
- 水水笔-续2(07/02)
- leetcode234. Palindrome Linked List
- [codevs2833] 奇怪的梦境
- 编写代码及调试注意事项
- OpenCV2.4.13+VS2012开发环境配置
- Struts2下多文件的上传与下载
- Android逆向之旅---运行时修改内存中的Dalvik指令来改变代码逻辑
- 公司app出现异常版本与使用记录,怀疑app被换壳,下面总结换课过程,保护过程下节更新
- UVALive 6087 Fuel Stops(思维、数环上任意前缀和非负的点个数)
- MVP模式笔记-1