力扣669 补9.16

最近大三上四天有早八,真的是受不了了啊,欧嗨呦,早上困如狗,然后,下午困如狗,然后晚上困如狗,尤其我最近在晚上7点到10点这个时间段看力扣,看得我昏昏欲睡,不自觉就睡了1个小时,可能在犯困的时间段不适合做高难度的题目。

还有英语也要抓紧搞,好久没搞英语了,力扣每天一题就搞得我没时间搞别的了,基本就是下午在看力扣,然后睡了犯困睡了1小时去吃饭,然后晚上差不多,再想一会,犯困再睡1个小时,睡醒想不出来就看答案。。

再这样我就没法坚持刷下去了,太低效了,想想自己一天干了啥。

669.修建二叉树

做不来,感觉题解很精妙,return加递归的作用我是没想到的。

力扣669 补9.16_第1张图片

 

class Solution {

    public TreeNode trimBST(TreeNode root, int low, int high) {

        // 从当前节点及其子树,寻找满足条件的的节点。

        if(root==null) return null;        

        return dfs(root,low,high);

    }

    TreeNode dfs(TreeNode root,int low,int high){

        // 如果当前节点正常,就正常进入递归,继续遍历节点,如果不正常也会进入递归,继续遍历。

        // return + 递归也是一个神奇的组合。保证函数能够一直递归进行下去,直到遍历完所有节点。

        if(root==null) return null;

        if(root.val>high){

            return dfs(root.left,low,high);

        }

        else if(root.val

        else{

        root.left=dfs(root.left,low,high);

        root.right=dfs(root.right,low,high);

        return root;

        }

    }

}

 

你可能感兴趣的:(力扣,leetcode,职场和发展,java,数据结构,算法)