【剑指offer】面试题 24:反转链表
来源:互联网 发布:曲婉婷jar of love知乎 编辑:程序博客网 时间:2024/06/07 23:49
题目描述
输入一个链表,反转链表后,输出链表的所有元素。
时间限制:1秒 空间限制:32768K 热度指数:137078
思路
pHead始终指向要反转的节点,last 指向反转后的首节点,
每反转一个节点,把 pHead 节点的下一个节点指向 last,
last 指向 pHead 成为反转后的首节点,再把 pHead 向前移动一个节点直至None结束;
参考代码
版本一
# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: # 返回ListNode def ReverseList(self, pHead): # write code here if not pHead or not pHead.next: return pHead last = None while pHead: tmp = pHead.next pHead.next = last last = pHead pHead = tmp return last
版本二
# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: # 返回ListNode def ReverseList(self, pHead): # write code here pReversedHead = None pNode = pHead pPrev = None while pNode != None: pNext = pNode.next if pNext == None: pReversedHead = pNode pNode.next = pPrev pPrev = pNode pNode = pNext return pReversedHead def ReverseListRec(self, pHead): if not pHead or not pHead.next: return pHead else: pReversedHead = self.ReversedList(pHead.next) pHead.next.next = pHead pHead.next = None return pReversedHead
阅读全文
0 0
- 《剑指Offer》面试题:反转链表
- 剑指offer面试题24:反转链表-java
- 剑指offer--面试题24:反转链表
- 【剑指offer】面试题 24:反转链表
- 【剑指offer】面试题24:反转链表
- offer面试题-----链表反转
- [剑指offer][面试题16]反转链表
- 【剑指offer】面试题16:反转链表
- 剑指offer 面试题16 反转链表
- 剑指Offer面试题16 反转链表
- 《剑指Offer》面试题16:反转链表
- 《剑指Offer》学习笔记--面试题16:反转链表
- 剑指offer 面试题16—反转链表
- 【剑指Offer学习】【面试题16 :反转链表】
- 【剑指Offer面试题】 九度OJ1518:反转链表
- 剑指offer面试题16-反转链表
- 剑指offer面试题16之反转链表
- 剑指offer:面试题16 反转链表
- 关于kettle初始化的那点事
- 17.5.28C组总结
- Springboot状态码总结
- spring事件机制_http://enjiex.iteye.com/blog/1070094
- iptables简单应用
- 【剑指offer】面试题 24:反转链表
- 类实现输出最高成绩
- 游戏开发中的人工智能(四):群聚
- SPOJ 28286 BLMIRINA
- 前端笔记——jQuery
- 40. Combination Sum II
- 【HTML】- 固定边框滚动
- 17.4.15C组总结
- php 生成验证码,缩略图,及水印图