剑指offer 面试题16:反转链表(Leetcode 206: Reverse Linked List) 题解
2016-04-15 23:06
751 查看
面试题16:反转链表
提交网址: http://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca?tpId=13&tqId=11168
或 https://leetcode.com/problems/reverse-linked-list/
Total Accepted:
101523 Total Submissions:
258623 Difficulty:
Easy
Reverse a singly linked list.
Hint:
A linked list can be reversed either iteratively or recursively. Could you implement both?
参与人数:5517 时间限制:1秒 空间限制:32768K
本题知识点:链表
分析:
使用头插法,并每次将newhead获取到最前端临时结点(整体赋值)...
有空了,再来用递归思想实现一次...
AC代码:
提交网址: http://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca?tpId=13&tqId=11168
或 https://leetcode.com/problems/reverse-linked-list/
Total Accepted:
101523 Total Submissions:
258623 Difficulty:
Easy
Reverse a singly linked list.
Hint:
A linked list can be reversed either iteratively or recursively. Could you implement both?
参与人数:5517 时间限制:1秒 空间限制:32768K
本题知识点:链表
分析:
使用头插法,并每次将newhead获取到最前端临时结点(整体赋值)...
有空了,再来用递归思想实现一次...
AC代码:
class Solution { public: ListNode* ReverseList(ListNode* pHead) { ListNode *p; ListNode *newhead=NULL; p=pHead; if(pHead==NULL || pHead->next==NULL) return pHead; while(p!=NULL) { ListNode *temp=p; p=p->next; temp->next=newhead; // 挂接上 newhead=temp; // 将新插入的节点整体复制给头指针结点 } return newhead; } };
相关文章推荐
- 程序员第45天
- 老码农的技术理想
- JAVA用双栈实现队列,纪念我挂掉的第一次腾讯面试题
- 面试路之算法总结(1)
- 剑指offer 面试题5:从尾到头打印链表 题解
- 面试路之书单(0)
- 面试题:栈排序
- 面试题:递归反转一个栈
- 面试题:栈的push和pop序列是否一致
- 面试题:判断链表是否有环
- JAVA程序员养成计划之JVM学习笔记(2)-垃圾收集管理
- 面试题:两个链表相交
- 剑指offer 面试题9:斐波那契数列及其变形(跳台阶、矩形覆盖) 题解
- 面试题:两个链表相交的交点
- 面试题:单链表排序
- 面试题:单链表最大或者最小的数
- 面试题:删除链表中重复的元素
- 剑指offer 面试题19:二叉树的镜像(leetcode226. Invert Binary Tree) 题解
- 判断出栈顺序的合法性(面试题)
- 面试题:两个栈实现队列