## java实现数组转链表、链表按指定起始位置反转，链表反转 原

leopardlz

/**
* <p>
* 链表相关操作
* </p>
*
* @author ZLi 2017-8-16
*
*/
public class ReverChain {

public static void main(String[] args) {
int[] array = { 1, 2, 3, 4, 5, 6, 7 };
System.out.println("反转前：");
while (node != null) {
System.out.println(node.getVal());
node = node.getNext();
}
System.out.println("反转后：");
while (node0 != null) {
System.out.println(node0.getVal());
node0 = node0.getNext();
}
}

/**
* 链表逆序打印
*
*/
public static void reverse0(Node head) {
return;
}
reverse0(next);
}

/**
* 按指定位置逆序
*
* @param from
* @param to
* @return
*/
public static Node reverse(Node head, int from, int to) {
if (head == null || head.next == null || from > to) {
}
Node next = null;
Node res = null;
int i = 0;
Node pre = null;
Node preTail = null;
Node middle = null;
if (i < from - 1) {
if (pre == null) {
pre = preTail = new Node(head.val);
} else {
preTail = preTail.next;
}
}
if (i >= from - 1 && i < to) {

if (middle == null) {
res = middle = new Node(head.val);
} else {
}
}
if (i >= to) {
break;
}
i++;
}
middle.next = next;
preTail.next = res;
return pre;
}

/**
* 链表按指定数字逆序
*
* @return
*/
public static Node reverse(Node head, int num) {
}
Node next = null;
Node res = null;
int i = 0;
Node tail = null;
while (i < num) {
if (res == null) {
res = tail = new Node(head.val);
} else {
}
i++;
}
tail.next = next;
return res;
}

/**
* 把数组转换成链表
*
* @param array
* @return
*/
public static Node transfer(int[] array) {
if (array == null) {
return null;
}
Node tail = null;
for (int i = 0; i < array.length; i++) {
tail = new Node(array[i]);
} else {
tail.next = new Node(array[i]);
tail = tail.next;
}
tail.next = null;
}
}

/**
* 非递归
*
* @param cur
* @return
*/
public static Node noRecursionReverse(Node cur) {
if (cur == null) {
return null;
}
Node pre = null;
Node next = null;
while (cur != null) {
next = cur.getNext();
cur.setNext(pre);
pre = cur;
cur = next;
}
return pre;
}

/**
* 递归实现
*
* @return
*/
public static Node recursionReverse(Node head) {
}
Node reverseNode = recursionReverse(next);
return reverseNode;
}
}

### leopardlz

AI科技大本营
2018/09/27
0
0

CSDN资讯
2018/10/02
0
0
143. Reorder List - LeetCode

Question 143. Reorder List Solution 题目大意：给一个链表，将这个列表分成前后两部分，后半部分反转，再将这两分链表的节点交替连接成一个新的链表 思路 ：先将链表分成前后两部分，将后部...

yysue
2018/07/15
0
0

oschina
2018/12/19
0
0

2018/12/09
0
0

OSChina 周一乱弹 —— 白掌柜说了卖货不卖身

Osc乱弹歌单（2019）请戳（这里） 【今日歌曲】 @爱漫爱 ：这是一场修行分享羽肿的单曲《Moony》 手机党少年们想听歌，请使劲儿戳（这里） @clouddyy ：开不开心？ 开心呀， 我又不爱睡懒觉…...

8
0

em_aaron

3
0

1：WEB应用简介。其中1.2.1对Web容器的工作流程写得不错 2：编写Servlet。搞清楚了Java的Web目录结构，以及Web.xml的一些配置作用。特别是讲了@WebServlet标签 3：请求与响应。更细致的讲了从...

max佩恩

4
0
mysql分区功能详细介绍，以及实例

3
0
SQL语句查询

1.1 排序 通过order by语句，可以将查询出的结果进行排序。放置在select语句的最后。 格式: SELECT * FROM 表名 ORDER BY 排序字段ASC|DESC; ASC 升序 (默认) DESC 降序 1.查询所有商品信息,...

stars永恒

5
0