反转链表
来源:互联网 发布:python 帮助文档 编辑:程序博客网 时间:2024/06/03 23:03
题目描述:
输入一个链表,反转链表后,输出链表的所有元素。
解题思路:
初始化两个指针(变量),保存当前节点的next,然后让当前节点的next指向前一个节点;进行节点的翻转,当前节点为前一个结点,当前节点的下一个节点为当前节点,当前节点的前一个节点变为翻转后的第一个节点。
//反转链表//输入一个链表,反转链表后,输出链表的所有元素。public class Solution19 { public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } } public ListNode ReverseList(ListNode head) { //传入当前节点 if (head == null){ //head是当前节点 return null; } ListNode pre = null; //pre为当前节点的前一结点 ListNode next = null; //next为当前节点的下一节点 while (head != null){ next = head.next; //先用next保存head的下一个节点的信息,保证单链表不会因为失去head节点的原next节点而就此断裂 head.next = pre; //保存完next,就可以让head从指向next变成指向pre了 //head指向pre后,就继续依次反转下一个节点 //让pre,head,next依次向后移动一个节点,继续下一次的指针反转 pre = head; head = next; } //如果head为null的时候,pre就为最后一个节点了,但是链表已经反转完毕,pre就是反转后链表的第一个节点 return pre; }}
0 0
- 链表反转
- 反转链表
- 单向链表反转
- 链表反转:
- 链表的反转
- 链表反转
- 反转单向链表
- 链表反转
- 单向链表反转
- 单向链表反转
- 链表的反转
- 链表反转
- 反转链表
- 链表反转
- 链表反转
- 链表反转
- 链表反转
- 链表的反转
- linux下使用vim 编写简单的进度条
- 编译过程
- hibernate--5.基础映射(字段)
- 高性能MySQL(五)—创建高性能索引(1)
- WAV文件格式
- 反转链表
- 数组
- JAVA WEB从入门到精通 day23 使用java发送邮件
- 优秀Java程序员必须了解的GC工作原理
- BZOJ 2555 SubString LCT 后缀自动机
- 微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据 上篇
- HDU2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活
- DFS应用(拓扑排序和强连通分支)
- 文章标题