Reverse Linked List
2015-10-29 23:03
267 查看
题目
原题
思路
code
原题
Reverse a singly linked list.
思路
递归或者非递归. 需要注意的是反转后最后节点的next指向(NULL).
code
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNode* reverseList(ListNode* head) { /// method 1 // if(head == NULL || head->next == NULL) { // return head; // } // ListNode* tmp; // ListNode* p = NULL; // ListNode* p1 = head; // while(p1 != NULL) { // tmp = p1->next; // p1->next = p; // p = p1; // p1 = tmp; // } // head = p; // return head; /// method 2 if(head == NULL || head->next == NULL) { return head; } ListNode* p = head->next; ListNode* temp = reverseList(p); p->next = head; head->next = NULL; return temp; } };
相关文章推荐
- X皮书之初识Redis(基本操作)
- 查了查Ubuntu Studio有感 [如转载请注明出处]
- HashMap 排序,按照 value,找出字符出现次数最多的
- Uva136——Ugly Numbers
- 第二百一十天 how can I 坚持
- PHP开发环境之WAMP独立安装
- Java中的回调机制
- iOS开发UI篇—程序启动原理和UIApplication
- 1.7-nagios配置邮件告警
- Uva400——Unix ls
- 如何在github上传自己的项目
- 十天冲刺---Day1
- Java String API
- Java String API
- 欢迎使用CSDN-markdown编辑器
- 关于修改 commit_write 提升性能的一点理解
- 记。。关于python处理表单
- C语言文法
- LeetCode Unique Paths (简单DP)
- LeetCode 刷题: 两个二叉树节点的最近公共节点Least Common Ancestor