标签:art 深度 http remove turn @param while arp tree
https://blog.csdn.net/weixin_39912556/article/details/82852749
package Method;
import java.util.ArrayDeque;
import java.util.Deque;
import java.util.Queue;
import java.util.Stack;
/**
* Created by joyce on 2019/9/11.
*/
public class TreeMain {
private static class TreeNode {
public TreeNode left;
public TreeNode right;
private String val;
public TreeNode(String _val) {
val = _val;
}
public void echo() {
System.out.println(val);
}
public TreeNode setLeft(TreeNode left) {
this.left = left;
return this;
}
public TreeNode setRight(TreeNode right) {
this.right = right;
return this;
}
}
public static void main(String [] f) {
TreeNode D = new TreeNode("D");
TreeNode E = new TreeNode("E");
TreeNode F = new TreeNode("F");
TreeNode G = new TreeNode("G");
TreeNode B = new TreeNode("B").setLeft(D).setRight(E);
TreeNode C = new TreeNode("C").setLeft(F).setRight(G);
TreeNode A = new TreeNode("A").setLeft(B).setRight(C);
DB(A);
DBD(A);
WB(A);
}
/**
* 深度
* @param root
*/
public static void DB(TreeNode root) {
Stack<TreeNode> stack = new Stack<>();
stack.push(root);
while (!stack.isEmpty()) {
TreeNode treeNode = stack.pop();
treeNode.echo();
if(treeNode.right != null) {
stack.push(treeNode.right);
}
if(treeNode.left != null) {
stack.push(treeNode.left);
}
}
}
/**
* 深度 递归
* @param root
*/
public static void DBD(TreeNode root) {
if(root == null)
return;
root.echo();
DBD(root.left);
DBD(root.right);
}
/**
* 广度
* @param root
*/
public static void WB(TreeNode root) {
Deque<TreeNode> deque = new ArrayDeque<>();
deque.add(root);
while (!deque.isEmpty()) {
TreeNode treeNode = deque.remove();
treeNode.echo();
if(treeNode.left != null) {
deque.add(treeNode.left);
}
if(treeNode.right != null) {
deque.add(treeNode.right);
}
}
}
}
标签:art 深度 http remove turn @param while arp tree
原文地址:https://www.cnblogs.com/silyvin/p/11505527.html