16链表的反转|剑指offer
2016-04-09 17:10
483 查看
题目描述
输入一个链表,反转链表后,输出链表的所有元素。/*
struct ListNode {
int val;
struct ListNode *next;
ListNode(int x) :
val(x), next(NULL) {
}
};*/
class Solution {
public:
ListNode* ReverseList(ListNode* pHead) {
ListNode* current = NULL;
ListNode* node = pHead;
ListNode* newHead=pHead;
while(node != NULL){
ListNode* nextNode = node->next;
if(nextNode == NULL){
newHead = node;
}
node->next = current;
current = node;
node = nextNode;
}
return newHead;
}
};
在链表的反转中,经常会出现例如空链表让程序崩溃或者链表断开等问题。我们应该常备一些测试用例做功能测试:
1)输入的链表头指针是NULL
2)输入的链表只有一个结点
3)输入的链表有多个结点
如果我们能够通过这几个测试用例,那我们程序通过的概率就会增加!
相关文章推荐
- [BZOJ 1012][JSOI2008]最大数maxnumber
- leetcode- Delete Node in a Linked List&Remove Linked List Elements
- <a href="javascript:void(0)" onclick="ff()" ></a> 用法解析
- 4行代码实现js模板引擎
- 关于node.js资料集
- 【剑指offer系列】 二叉搜索树的后序遍历系列___24
- js测试
- Myeclipse里导入jQuery.js 时出现错误打红叉的解决方法
- JavaScript基础之函数与数组
- JQuery解析XML数据的几个例子
- 15 个最佳 jQuery 翻书效果插件
- 第四章:变量、作用域和内存问题
- 第三章:基本概念
- JSOUP简介
- 第二章:在HTML中使用JavaScript
- js scroll
- html5 video播放调研,全屏,伪全屏
- HTML5实现全屏API【进入和退出全屏】
- HTML5全屏(Fullscreen)API详细介绍_html5教程技巧
- javascript使用100例一