基于Python实现2种反转链表方法代码实例
题目:
反转一个单链表。
示例:
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
进阶:
你可以迭代或递归地反转链表。你能否用两种方法解决这道题?
思路:
主要需要注意反转过程中不要丢了节点。可以使用两个指针,也可以使用三个指针。
Python解法一:
class Solution: def reverseList(self, head): cur, prev = head, None while cur: temp = cur.next cur.next = prev prev = cur cur = temp return prev
Python解法二:
class Solution: def reverseList(self, head): if head == None or head.next == None: return head prev = None cur = head post = head.next while post: cur.next = prev prev = cur cur = post post = post.next cur.next = prev return cur
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持好吧啦网。
相关文章:
1. .NET SkiaSharp 生成二维码验证码及指定区域截取方法实现2. jsp网页实现贪吃蛇小游戏3. 存储于xml中需要的HTML转义代码4. ASP中if语句、select 、while循环的使用方法5. MyBatis JdbcType 与Oracle、MySql数据类型对应关系说明6. django创建css文件夹的具体方法7. phpstudy apache开启ssi使用详解8. Django model重写save方法及update踩坑详解9. ASP中实现字符部位类似.NET里String对象的PadLeft和PadRight函数10. CentOS邮件服务器搭建系列—— POP / IMAP 服务器的构建( Dovecot )
