美文网首页
递归:783. 二叉搜索树节点最小距离(简单)

递归:783. 二叉搜索树节点最小距离(简单)

作者: 言的希 | 来源:发表于2021-04-13 10:55 被阅读0次

    给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。

    示例 1:

                        输入:root = [4,2,6,1,3]输出:1

    解题思路:递归yyds,深度优先算法,先遍历左子树,再遍历右子树

    /**

     * Definition for a binary tree node.

     * public class TreeNode {

     *     int val;

     *     TreeNode left;

     *     TreeNode right;

     *     TreeNode() {}

     *     TreeNode(int val) { this.val = val; }

     *     TreeNode(int val, TreeNode left, TreeNode right) {

     *         this.val = val;

     *         this.left = left;

     *         this.right = right;

     *     }

     * }

     */

    class Solution {

        int min = Integer.MAX_VALUE;

        TreeNode pre = null;

        public void minT(TreeNode root) {

            if(root == null ) {

                return ;

            } 

            minT(root.left);//先遍历左子树

            if(pre != null) {

                min = Math.min(root.val-pre.val, min);

            }

            pre = root;

            minT(root.right);//再遍历右子树

        }

        public int minDiffInBST(TreeNode root) {

            minT(root);

            return min;

        }

    }

    相关文章

      网友评论

          本文标题:递归:783. 二叉搜索树节点最小距离(简单)

          本文链接:https://www.haomeiwen.com/subject/iomqlltx.html