Java实现单链表反转
来源:互联网 发布:互穿网络防腐涂料 编辑:程序博客网 时间:2024/04/29 23:47
本文主要介绍单链表反转的两种方法,记录如下:
1.
package com.leetcode;public class ListReverse {public static void main(String[] args) {Node node1 = new Node(1);Node node2 = new Node(2);Node node3 = new Node(3);Node node4 = new Node(4);node1.next = node2;node2.next = node3;node3.next = node4;Node head = reverse(node1);while(head != null){System.out.println(head.val);head = head.next;}}public static Node reverse(Node head){Node cur = head, post = head.next;head.next = null;while(post != null){Node tmp = post;post = post.next;tmp.next = cur;cur = tmp;}return cur;}static class Node{int val;Node next;Node(int val){this.val = val;this.next = null;}}}
运行结果为:
4321
2.
package com.leetcode;public class ListReverse {public static void main(String[] args) {Node node1 = new Node(1);Node node2 = new Node(2);Node node3 = new Node(3);Node node4 = new Node(4);node1.next = node2;node2.next = node3;node3.next = node4;Node head = reverse(node1);while(head != null){System.out.println(head.val);head = head.next;}}public static Node reverse(Node head){Node dummy = new Node(-1);dummy.next = head;Node pre = dummy, cur = head, post = head.next;while(post != null){cur.next = post.next;post.next = pre.next;pre.next = post;post = cur.next;}return dummy.next;}static class Node{int val;Node next;Node(int val){this.val = val;this.next = null;}}}
运行结果为:
4321
0 0
- Java实现单链表反转
- Java实现反转单链表
- 单链表反转--Java实现
- Java实现单链表反转
- java实现单链表反转
- java 实现单链表反转
- Java实现单链表反转
- 单链表的反转java实现
- java 实现单链表的反转
- 反转单链表(java实现)
- java 实现单链表的反转
- 单链表的反转-Java实现
- java实现单链表的反转
- Java单链表反转 Java实现单链表翻转
- 算法:java 实现单链表的反转
- java实现单链表反转,2种方式
- 用Java实现单链表的反转
- java实现单链表反转(遍历方式)
- Android hook system API —— 修改系统相机preview data
- AOJ 2121 Castle Wall
- CXF JAX-WS 注释
- android OTA的时候删除data分区里面的部分数据
- Unity NGUI 描点控件的位移动画
- Java实现单链表反转
- jaxws的web service的自定义fault
- 3D 空间金字塔采样
- ContextClassLoader介绍
- 关于selectNodes与selectSingleNode的用法的区别
- 5.6 外观模式(4.5)
- 设置Hibernate的二级Cache
- c语言 一些自己的字符串处理函数
- 注释也可这样玩