(leetcode)Reverse Linked List 脑子已经僵住
Reverse a singly linked list.
参考http://www.2cto.com/kf/201110/106607.html
方法1:
讲每个节点的指针指向前面就可以。
/**
* 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) {
//错误解法
// ListNode *q = NULL;
// if(!(head && head->next)) return NULL;
// ListNode *p = head->next;
// head->next = NULL; // while(p)
// {
// q=p->next;
// p->next=head->next;
// head->next=p;
// p = q;
// }
// return head; if((head == NULL) || (head->next==NULL)) return head;
ListNode *p = head;
ListNode *q = p->next;
ListNode *r = NULL;
head->next = NULL;
while(q)
{
r = q->next;
q->next = p;
p = q;
q = r;
}
head = p;
return head; }
};
方法二:这个方法想了很久才发现题目中的意思head是第一个节点
/**
* 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) {
if((head==NULL) || (head->next==NULL)) return head;
ListNode *q = NULL;
ListNode *p = head->next;//p位置不变 while(p->next)
{
q=p->next;
p->next = q->next;
q->next = head->next;
head->next = q;
}
p->next=head; //相当于成环
head=p->next->next; //新head变为原head的next
p->next->next=NULL; //断掉环
return head; }
};
太菜了!!!!!!
2015-8-2又重新写了一版,和第一种思路一样。
class Solution {
public:
    ListNode* reverseList(ListNode* head) {
        if((head==NULL) || (head->next==NULL)) return head;
        ListNode *q;
        ListNode *p;//p位置不变
        p = head;
        q = head->next;
        head->next = NULL;
        while(q)
        {
            p = q;
            q = q->next;
            p->next = head;
            head = p;
        }
        head = p;
        return head;
    }
};
(leetcode)Reverse Linked List 脑子已经僵住的更多相关文章
- [LeetCode] Reverse Linked List 倒置链表
		
Reverse a singly linked list. click to show more hints. Hint: A linked list can be reversed either i ...
 - [LeetCode] Reverse Linked List II 倒置链表之二
		
Reverse a linked list from position m to n. Do it in-place and in one-pass. For example:Given 1-> ...
 - 【原创】Leetcode -- Reverse Linked List II -- 代码随笔(备忘)
		
题目:Reverse Linked List II 题意:Reverse a linked list from position m to n. Do it in-place and in one-p ...
 - [leetcode]Reverse Linked List II @ Python
		
原题地址:https://oj.leetcode.com/problems/reverse-linked-list-ii/ 题意: Reverse a linked list from positio ...
 - [LeetCode] Reverse Linked List II
		
Reverse a linked list from position m to n. Do it in-place and in one-pass. For example:Given 1-> ...
 - [LeetCode] Reverse Linked List
		
Reverse a singly linked list. 这题因为palindrome linked list 的时候需要就顺便做了一下.利用三个指针:prev, now, next 相互倒腾就行. ...
 - [Leetcode] Reverse linked list ii 反转链表
		
Reverse a linked list from position m to n. Do it in-place and in one-pass. For example:Given1->2 ...
 - leetcode——Reverse Linked List II 选择链表中部分节点逆序(AC)
		
Reverse a linked list from position m to n. Do it in-place and in one-pass. For example: Given 1-> ...
 - 翻转单链表    leetcode  Reverse Linked List
		
翻转一个单链表.这个题目听说很多次了,总感觉肯定不是什么难题. 现在真的有点好高骛远了!总感觉那种很难的算法题才是难题,这种题没必要做.其实眼高手低啊. 这种easy题,我都不能一遍ac,这遇到白板编 ...
 
随机推荐
- javascript reverse string
			
var strReversed = str.split('').reverse().join(''); function: function reverse(str){ return str.spli ...
 - Highcharts 本地导出图片 Java
			
下载的Highcharts-2.3.5.zip 解压后 有 E:\Highcharts\Highcharts-2.3.5\exporting-server\java 目录 提供了Java实现的导出应用 ...
 - SSH自定义分页标签
			
本文参考文章:http://blog.csdn.net/qjyong/article/details/3240303 一.标签处理类: package cn.conris.sys.form; impo ...
 - iOS-TextField知多少
			
iOS-TextField知多少 //初始化textfield并设置位置及大小 UITextField *text = [[UITextField alloc]initWithFrame:CGRect ...
 - hdu Load Balancing
			
这道题题目表示看不懂,如果哪位明白题意的,还望在评论里留个言指导一下!
 - thinkphp框架中session常识
			
在看别人代码时候,发现他,在tp框架中使用session没有些session_start();然后我去查看了手册初始化设置方法 无需手动调用,在App类的初始化工作结束后会自动调用,通常项目只需要配置 ...
 - 导航栏下a标签失效的原因
			
前天我一直没找到失效的结果,就在刚才,我用不同的浏览器打开我编写的网页,有一个浏览器的图片循环播放效果错位了,我觉得就是它上边的div把他挤下来了.正如前天网上看到的高手的们的说法.我用firebug ...
 - ondragover 事件规定在何处放置被拖动的数据
			
nternet Explorer 9.Firefox.Opera 12.Chrome 以及 Safari 5 支持拖放. 被拖元素,dragElement : 1.添加事件:ondragstart 2 ...
 - JSP编程-步步为营
			
[第一个JSP举例] header.jsp <%@ page language="java" contentType="text/html; charset=utf ...
 - java build path->source folder分析
			
1.build path下的source folde,指的是项目存放源码的位置,即存放Java代码的位置!!! 如果将一个文件夹设为java build path里的source folder下,则这 ...