[算法题] Reverse Linked List
题目内容
题目来源:LeetCode
Reverse a singly linked list.
题目思路
这个属于经典问题,链表反转的思路基本上已经非常固定了。有两种非常常见的方法:1.三指针法 2.头插法
这个题目用到的是三指针法。
方法:设立三个指针,分别叫做pre, curr, next。这三个指针的功能分别是:现用next保存curr的下一个结点,免得以后找不到了。然后将curr指向pre,这一步实现了反转,然后让pre指向curr, curr指向next。
具体的解释这个博客写的非常明晰(也包括了头插法):http://blog.csdn.net/feliciafay/article/details/6841115
初始化的时候,pre=None,curr=pre.next , next=curr.next
Python代码
# Definition for singly-linked list.
# class ListNode(object):
# def __init__(self, x):
# self.val = x
# self.next = None class Solution(object):
def reverseList(self, head):
"""
:type head: ListNode
:rtype: ListNode
"""
pre=None
next=None
curr=head
while curr:
next=curr.next
curr.next=pre
pre=curr
curr=next
return pre
[算法题] Reverse Linked List的更多相关文章
- LeetCode算法题-Reverse Linked List(Java实现)
		这是悦乐书的第192次更新,第195篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第51题(顺位题号是206).反转单链表.例如: 输入:1-> 2-> 3- ... 
- [算法题] Reverse Linked List II
		题目内容 题目来源:LeetCode Reverse a linked list from position m to n. Do it in-place and in one-pass. For e ... 
- LeetCode算法题-Reverse Words in a String III(Java实现)
		这是悦乐书的第259次更新,第272篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第126题(顺位题号是557).给定一个字符串,您需要反转句子中每个单词中的字符顺序,同 ... 
- LeetCode算法题-Reverse String II(Java实现)
		这是悦乐书的第256次更新,第269篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第123题(顺位题号是541).给定一个字符串和一个整数k,你需要反转从字符串开头算起的 ... 
- LeetCode算法题-Reverse String(Java实现)
		这是悦乐书的第205次更新,第217篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第73题(顺位题号是344).编写一个以字符串作为输入并返回字符串的函数.例如: 输入: ... 
- LeetCode算法题-Palindrome Linked List(Java实现)
		这是悦乐书的第196次更新,第202篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第58题(顺位题号是234).给出一个单链表,确定它是否是回文.例如: 输入:1-> ... 
- LeetCode算法题-Reverse Bits(Java实现)
		这是悦乐书的第185次更新,第187篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第44题(顺位题号是190).给定32位无符号整数,求它的反转位.例如: 输入:4326 ... 
- 【算法】LeetCode算法题-Reverse Integer
		这是悦乐书的第143次更新,第145篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第2题(顺位题号是7),给定32位有符号整数,然后将其反转输出.例如: 输入: 123 ... 
- LeetCode算法题-Reverse Vowels of a String(Java实现-四种解法)
		这是悦乐书的第206次更新,第218篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第74题(顺位题号是345).编写一个函数,它将一个字符串作为输入,并仅反转一个字符串的 ... 
随机推荐
- 【Android Developers Training】 15. 启动一个Activity
			注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ... 
- 游戏UI框架设计(7):  资源国际化技术
			游戏UI框架设计(7) --资源国际化技术 说起"资源国际化"技术,个人认为可以追述到微软Window2000 PC操作系统的发布,在这之前windows98操作系统的开发都是先由 ... 
- java生成首字母拼音简码的总结
			百度找到了某论坛高人写的java(具体论坛记不清了),直接用来调用,再次非常感谢,基本上实现了我的需求 package MD5;import java.util.Scanner;public clas ... 
- 网络配置之nmcli
			使用nmcli命令配置网络 NetworkManager是管理和监控网络设置的守护进程,设备既就是网络接口,连接是对网络接口的配置,一个网络接口可以有多个连接配置,但同时只有一个连接配置生效. 1 配 ... 
- ansible学习之路
			ansible安装 
- Docker 部署DropWizard
			FROM index.alauda.cn/alauda/ubuntu MAINTAINER hongxiao.shou "shouhongxiao@163.com" COPY jd ... 
- css动画属性--小球移动
			主体只有一个div <body> <div></div> </body> 样式部分(测试:目前的浏览器还是需要加前缀才能兼容) <style> ... 
- Spark SQL笔记——技术点汇总
			目录 概述 原理 组成 执行流程 性能 API 应用程序模板 通用读写方法 RDD转为DataFrame Parquet文件数据源 JSON文件数据源 Hive数据源 数据库JDBC数据源 DataF ... 
- FillConsoleOutputAttribute 函数--指定区域填充控制台输出属性
			FillConsoleOutputAttribute函数 来源:https://msdn.microsoft.com/en-us/library/windows/desktop/ms682663(v= ... 
- 【SpringMVC】静态资源访问的问题
			在项目中经常会用到一些静态的资源,而一般我们在配置SpringMVC时会让SpringMVC接管所有的请求(包括静态资源的访问), 那么我们怎样才能最简单的来配置静态资源的访问呢? 一,在web.xm ... 
