反转链表
来源:互联网 发布:rsyslog windows 编辑:程序博客网 时间:2024/06/09 02:21
输入一个链表,反转链表后,输出链表的所有元素。
本文考虑的是单链表
定义单链表
public class ListNode {
int val; //自身值
ListNode next = null; //指向下一个节点
ListNode(int val) {
this.val = val;
}
}
实现类:
public class Solution {
public ListNode ReverseList(ListNode head) {
if(head == null){
return null;
}
//head为当前节点,pre为当前节点的前一个节点,dre为当前节点的后一个节点
ListNode cur = head;
ListNode pre = null;
ListNode dre = null;
while(cur != null){
dre = cur.next;
cur.next = pre;
pre = cur;
cur = dre;
}
return pre;
}
public static void main(String[] args) {
//构建单链表
ListNode node1 = new ListNode(1); //val=1,next=null
ListNode node2 = new ListNode(2); //val=2,next=null
ListNode node3 = new ListNode(3); //val=3,next=null
ListNode node4 = new ListNode(4); //val=4,next=null
ListNode node5 = new ListNode(5); //val=5,next=null
node1.next = node2; //val=1,next=val=2,next=null
node2.next = node3;
node3.next = node4;
node4.next = node5;
node5.next = null;
Solution s = new Solution();
ListNode node = s.ReverseList(node1);
while(node != null){
System.out.print(node.val + " ");
node = node.next;
}
}
}
- 链表反转
- 反转链表
- 单向链表反转
- 链表反转:
- 链表的反转
- 链表反转
- 反转单向链表
- 链表反转
- 单向链表反转
- 单向链表反转
- 链表的反转
- 链表反转
- 反转链表
- 链表反转
- 链表反转
- 链表反转
- 链表反转
- 链表的反转
- 流媒体CDN带宽费用计算
- 浮点型的储存方式
- Learning Python 017 — Python2 和 Python3 的内存释放
- WPF自定义控件与样式(2)-自定义按钮FButton
- Spring的依赖注入——概念
- 反转链表
- java基础知识问答-数据类型
- RecyclerView嵌套RecyclerView
- 封装 ,继承, 多态,抽象类 ,接口
- 快速熟悉 PyQt5 与 Eric6 的极速 GUI 开发
- php基础系列----8php中错误和异常的处理
- Activiti基础教程--03(HelloWorld)
- python中多进程+协程的使用以及为什么要用它
- 浅谈大型web系统架构