二叉树查找最大数

121 阅读1分钟
public class TreeNode {
      public int val;
      public TreeNode left, right;
      public TreeNode(int val) {
          this.val = val;
          this.left = this.right = null;
      }
 }

public TreeNode maxNode(TreeNode root) {
        TreeNode k=root;
        totry(k, root);
        return k;
    }

    public static void totry(TreeNode k,TreeNode root){
      if(root!=null){
        if(root.left!=null){
            if(k.val<root.left.val){k.val=root.left.val;}
          }
        if(root.right!=null){
            if(k.val<root.right.val){k.val=root.right.val;}
          } 
        if(root.right!=null){
                     totry(k,root.right);
                }
        if(root.left!=null){
                     totry(k,root.left);
                 }    
      }
    }