为什么报错说没有返回值
来源:2-1 多重if结构
dddddda
2020-12-20 11:29:54
# 具体遇到的问题
老师这是我在练习途中遇到的一个问题,为什么系统报错说没有返回值
# 报错信息的截图
# 相关课程内容截图
# 尝试过的解决思路和结果
# 粘贴全部相关代码,切记添加代码注释(请勿截图)
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
public TreeNode searchBST(TreeNode root, int val) {
if(root ==null){
return root;
}
else if(root.val == val){
return root;
}
else if(root.val < val){
return searchBST(root.right,val);
}
else if (root.val>val){
return searchBST(root.left,val);
}
}
}
在这里输入代码,可通过选择【代码语言】突出显示
2回答
好帮手慕小班
2020-12-21
同学你好,按照语法格式,同学这样并不符合语法规范,如下所示的所有if判断,如果所有if条件不成立的情况下,执行后并没有返回值
所以同学应该加上一个else(所有条件不成立)的情况下的返回值,比如
或者同学可以省略else 直接写return。
好帮手慕小班
2020-12-20
同学你好,测试贴出内容,报错信息是val cannot be resolved or is not a field -->val不能解析或不是字段
这里调用的val是方法吗,还麻烦同学将自己完整的代码贴出。这里老师并没有复现同学所描述的问题。
相似问题
回答 3
回答 2