美文网首页
If 与 If else的区别

If 与 If else的区别

作者: unicorn518 | 来源:发表于2020-03-18 11:33 被阅读0次

缘起

二叉查找树中搜索范围:给定一棵二叉搜索树和一个范围,返回树中在此范围内的数据

样例 :

输入:{20,8,22,4,12},10,22

输出:[12,20,22]

解释:

        20

      /  \

      8  22

    / \

  4  12

它将被序列化为 {20,8,22,4,12}

[12,20,22]介于10和22之间

直接看答案:

public classSolution{

     private ArrayList<Integer> results;

     publicArrayListsearchRange(TreeNode root,intlow,inthigh){

        results = new ArrayList<Integer>();

        helper(root, low, high);

        return results;

    }

    private void helper(TreeNode root,intlow,inthigh){

        if (root == null) {

            return;

        }

        if (root.val > low) {

            helper(root.left, low, high);

        }

        if (root.val >= low && root.val <= high) {

            results.add(root.val);

        }

        if (root.val < high) {

            helper(root.right, low, high);

        }

    }

}

以上代码中的

if() {

}

if (){

}

......

如果改成

if() {

}

else if (){

}

else if() {
}

则不会AC

if 与 else if的区别

if ... if... if...为多选,选项之间不互斥。会逐个判断,如果有符合条件的,则会进入if代码块执行,直到整个方法结束;

if... else if ... else if...为单选,选项之间互斥。只要有一个符合条件,则不会再去判断下面的条件直接结束。

相关文章

网友评论

      本文标题:If 与 If else的区别

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