美文网首页
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