Skip to content

Commit 91fd26e

Browse files
committed
#0918 second commit
1 parent 1499962 commit 91fd26e

File tree

2 files changed

+88
-1
lines changed

2 files changed

+88
-1
lines changed

src/com/blankj/study/temp/Test04.java

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,11 @@
33
import com.blankj.study.base.BinaryTreeNode;
44

55
import java.util.LinkedList;
6+
import java.util.Stack;
67

78

89
/**
9-
* 二叉树层序遍历
10+
* 二叉树遍历
1011
*/
1112
public class Test04 {
1213
public static void main(String[] args) {
@@ -22,11 +23,15 @@ public static void main(String[] args) {
2223
tree1.setRchild(tree4);
2324
tree2.setLchild(tree5);
2425

26+
System.out.println("BFS");
2527
bfs(tree);
2628

29+
System.out.println("DFS");
30+
dfs(tree);
2731

2832
}
2933

34+
// 广度优先(层序)遍历
3035
public static void bfs(BinaryTreeNode node) {
3136
if (node == null) {
3237
return;
@@ -47,4 +52,27 @@ public static void bfs(BinaryTreeNode node) {
4752
}
4853
}
4954
}
55+
56+
public static void dfs(BinaryTreeNode node){
57+
if (node == null) {
58+
return;
59+
}
60+
Stack<BinaryTreeNode> stack = new Stack();
61+
stack.push(node);
62+
63+
while (!stack.isEmpty()) {
64+
BinaryTreeNode tmp = stack.pop();
65+
System.out.println(tmp.getData());
66+
67+
if (tmp.getRchild() != null) {
68+
stack.push(tmp.getRchild());
69+
}
70+
71+
if (tmp.getLchild() != null) {
72+
stack.push(tmp.getLchild());
73+
}
74+
75+
76+
}
77+
}
5078
}

src/com/blankj/study/temp/Test05.java

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
package com.blankj.study.temp;
2+
3+
import com.blankj.study.base.Node;
4+
5+
/**
6+
* 翻转链表
7+
*/
8+
public class Test05 {
9+
10+
public static void main(String[] args){
11+
Node head = new Node("head");
12+
Node node1 = new Node("1");
13+
Node node2 = new Node("2");
14+
Node node3 = new Node("3");
15+
Node node4 = new Node("4");
16+
Node node5 = new Node("5");
17+
18+
head.setNext(node1);
19+
node1.setNext(node2);
20+
node2.setNext(node3);
21+
node3.setNext(node4);
22+
node4.setNext(node5);
23+
node5.setNext(null);
24+
25+
say(head);
26+
System.out.println("reverse");
27+
28+
Node reverse = reverseList(head);
29+
say(reverse);
30+
31+
32+
}
33+
34+
public static void say(Node node){
35+
if(node==null){
36+
return;
37+
}
38+
39+
while(node.getNext()!=null){
40+
System.out.println(node.getData());
41+
node = node.getNext();
42+
}
43+
}
44+
45+
public static Node reverseList(Node head){
46+
Node pre = null;
47+
Node next = null;
48+
49+
while(head!=null){
50+
next = head.getNext();
51+
head.setNext(pre);
52+
pre = head;
53+
head = next;
54+
}
55+
56+
return pre;
57+
}
58+
59+
}

0 commit comments

Comments
 (0)