LeetCode Reverse Linked List
2016-01-29 09:32
225 查看
LeetCode解题之Reverse Linked List
原题
翻转一个单向链表。注意点:
无
例子:
输入: 1->2->3
输出: 3->2->1
解题思路
非常基础的一道题。前后两个指针,把后指针指向的节点的next指向前节点,在此之前用一个临时变量存储后指针原来的后一个节点以保证能够不断更新前后指针的位置。最后不要忘记把原先的头节点的next置为空,因为它现在是最后一个节点。AC源码
[code]# Definition for singly-linked list. class ListNode(object): def __init__(self, x): self.val = x self.next = None def to_list(self): return [self.val] + self.next.to_list() if self.next else [self.val] class Solution(object): def reverseList(self, head): """ :type head: ListNode :rtype: ListNode """ if not head: return None prev = head curr = prev.next while curr: next = curr.next curr.next = prev prev = curr curr = next head.next = None return prev if __name__ == "__main__": n1 = ListNode(1) n2 = ListNode(2) n3 = ListNode(3) n1.next = n2 n2.next = n3 r = Solution().reverseList(n1) assert r.to_list() == [3, 2, 1]
欢迎查看我的Github (https://github.com/gavinfish/LeetCode-Python) 来获得相关源码。
相关文章推荐
- 【代码笔记】对iphone手机进行判断的一些函数
- Linux下配置SSL
- 第一章 线程安全性
- Linux下安装、配置、启动Apache
- 204_矩阵乘幂多项式 Matrix power series (POJ 3233)
- 【代码笔记】对iphone手机进行判断的一些函数
- cocos2d-x系列教程
- 不是像素的像素不是像素
- iOS中XML解析
- CentOS6.7下zabbix_server_proxy_agent 2.4.7
- Ubuntu14.04搭建安装svnserver
- 图片整理
- 常用的正则表达式
- 微信支付接口开发--总
- 编程感悟
- 关于MBProgressHUD自定义帧动画
- POJ 3009(Dfs)
- 微信抢红包
- JavaScript判断DIV内容是否为空的方法
- Java程序员在用的大数据工具