package com.larry.test;
class TreeNode{
int val;
TreeNode lChild;
TreeNode rChild;
public TreeNode(int val){
this.val = val;
lChild = null;
rChild = null;
}
}
public class Test {
static int max = Integer.MIN_VALUE, min = Integer.MAX_VALUE;
private void preOrder(TreeNode root){//前序遍历算法
if(root == null) return;
else{
int val = root.val;
if(val < min) min = val;
if(val > max) max = val;
preOrder(root.lChild);
preOrder(root.rChild);
}
}
public static void main(String[] args) {
TreeNode node1 = new TreeNode(1);
TreeNode node2 = new TreeNode(2);
TreeNode node3 = new TreeNode(3);
TreeNode node4 = new TreeNode(4);
node1.lChild = node2;
node1.rChild = node3;
node3.rChild = node4;
new Test().preOrder(node1);
System.out.println("max = " + max + ", min = " + min);
}
}
算法题-写一个函数,输入一个二叉树,树中每个节点存放了一个整数值,函数返回这棵树中相差最大的两个节点间的差的绝对值。请注意程序效率。
最新推荐文章于 2022-01-21 15:44:12 发布