翻转单链表 leetcode Reverse Linked List
翻转一个单链表。这个题目听说很多次了,总感觉肯定不是什么难题。
现在真的有点好高骛远了!总感觉那种很难的算法题才是难题,这种题没必要做。其实眼高手低啊。
这种easy题,我都不能一遍ac,这遇到白板编程也是挂的节奏!
仔细分析,每次翻转一个,要记录被反转的这个的前后节点。
1 -> 2 -> 3 -> 4
用p记录当前要改变其next指针的节点。last 指向前一个节点。pre指向后一个节点。
初始化,last = NULL。
struct ListNode* reverse(struct ListNode *head)
{
struct ListNode *p,*last,*pre; p = head;
last = NULL;
while(p)
{
pre = p->next;
p->next = last;
last = p;
p = pre;
}
return last;
}
看别人代码是一个感觉,自己写真的是另一种感觉!
翻转单链表 leetcode Reverse Linked List的更多相关文章
- 单链表反转(Singly Linked Lists in Java)
单链表反转(Singly Linked Lists in Java) 博客分类: 数据结构及算法 package dsa.linkedlist; public class Node<E> ...
- [LeetCode 206] Reverse Linked List 翻转单链表
本题要求将给定的单链表翻转,是校招面试手撕代码环节的高频题,能很好地考察对单链表这一最简单数据结构的理解:可以使用迭代和递归两种方法对一个给定的单链表进行翻转,具体实现如下: class Soluti ...
- LeetCode之“链表”:Reverse Linked List && Reverse Linked List II
1. Reverse Linked List 题目链接 题目要求: Reverse a singly linked list. Hint: A linked list can be reversed ...
- [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 92. 反转链表 II(Reverse Linked List II)
92. 反转链表 II 92. Reverse Linked List II 题目描述 反转从位置 m 到 n 的链表.请使用一趟扫描完成反转. 说明: 1 ≤ m ≤ n ≤ 链表长度. LeetC ...
- C#LeetCode刷题之#206-反转链表(Reverse Linked List)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3828 访问. 反转一个单链表. 输入: 1->2-> ...
- Leetcode 206题 反转链表(Reverse Linked List)Java语言求解
题目描述: 反转一个单链表. 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 迭代解 ...
- 链表 206 Reverse Linked List, 92,86, 328, 2, 445
表不支持随机查找,通常是使用next指针进行操作. 206. 反转链表 /** * Definition for singly-linked list. * struct ListNode { * i ...
随机推荐
- 数组连接a.concat(b),b作为一个整体
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...
- OpenStack单节点制作镜像
1.创建快照 已修改后的时刻为记录,进行制作镜像,选择要制作镜像的虚拟机,点击创建快照,在所弹出的对话框中输入所创建的镜像名称 生成了一个镜像,类型为Snapshot 2.保存镜像 查看镜像列表 [r ...
- npm 淘宝镜像
npm config set registry https://registry.npm.taobao.org
- python学习笔记之一
1.可以自己运行,也可以被import后调用 if __name__ == '__main__' main() 2.可变参数,关键字参数,命名关键字参数 可变参数和关键字参数 def f1(a, b, ...
- HBase脚本命令
1. 脚本使用小结1.开启集群 start-hbase.sh 2.关闭集群 stop-hbase.sh 3.开启/关闭[所有]的regionserver.zookeeper hbase-daemons ...
- 使用Keepalived实现linux高可用集群
安装 apt install libipset-dev keepalived -y 创建账户 useradd -s/usr/sbin/nologin -M -g root keepalived_scr ...
- 电商系统架构总结3(webapi授权机制)
三 Web API 授权方式 web api的客户端,包括 android,ios,h5,自然对访问权限要加上授权机制.对于h5,要求把h5站点和web api部署在同一个域名下,然后对web api ...
- cocos子节点转父节点坐标 原理浅析(局部坐标转世界坐标同理)
在CCNode的类中,有一个得到 一个节点坐标系转换父亲坐标系的一个矩阵,节点内坐标乘以这个矩阵,就可以转换为在节点父节点中的坐标,方法名为: Mat4& Node::getNodeToPar ...
- Java - 17 Java 流(Stream)、文件(File)和IO
Java 流(Stream).文件(File)和IO Java.io包几乎包含了所有操作输入.输出需要的类.所有这些流类代表了输入源和输出目标. Java.io包中的流支持很多种格式,比如:基本类型. ...
- php数组和部分操作函数
1. 数组定义 数组的定义使用 array()方式定义,可以定义空数组: <?php $number = array(1,3,5,7,9); //定义空数组 $result = array(); ...