链表的反转
来源:互联网 发布:java实现ftp上传文件 编辑:程序博客网 时间:2024/06/08 07:47
1.题目描述
输入一个链表,反转链表后,输出链表的所有元素。
2.code(java1.7版本)
/*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; } ListNode start,temp,end; start=null; temp=head; end=temp.next; while(temp!=null){ temp.next=start; start=temp; temp=end; if(temp==null){ end=null; } else{ end=end.next; } } return start; }}
3.思路分析
运用3个ListNode类型的数据,start、temp以及end。start用于保存当前节点之前的一个节点,temp用于保存当前节点,end用于保存当前节点之后的一个节点。每次循环用于判断当前节点是否为空,不是,则将当前节点的下一个节点赋值为上一个节点,并将3个节点往后面移动,start节点赋值为temp节点,temp节点赋值为end节点,end节点赋值为再下一个节点,这样循环到temp为null时结束循环,返回头节点start即可完成链表的反转。
阅读全文
0 0
- 链表的反转
- 链表的反转
- 链表的反转
- 链表的反转
- 链表的反转
- 链表的反转
- 链表的反转
- 链表的反转
- 链表的反转
- 链表的反转
- 链表的反转
- 链表的反转
- 链表的反转
- 链表的反转
- 链表的反转
- 链表的反转
- 链表的反转
- 链表的反转
- .NET 环境中使用RabbitMQ
- Google Translate API
- HMAC-MD5 算法的java实例
- 杂文——Ubuntu中root和普通用户切换
- GitLab安装使用
- 链表的反转
- 学奥数到底对中小学生的思维有帮助吗?
- Python核心编程(第二版)第二章练习题
- Oracle数据库原理
- Python快速入门4--库的导入与添加
- Centos7下nginx配置https
- selenium+python 中遇到的编解码问题
- 黑客成长技术列表
- 信息收集