[英]for loop encounter return statement in recursion method
public void delete(String key) {
root = delete(root, key, 0);
}
public Node delete(Node x, String key, int d) {
if(x == null)
return null;
if(d == key.length())
x.val = null;
else {
char c = key.charAt(d);
x.next[c] = delete(x.next[c], key, d + 1);
}
//----------------
if(x.val !=null )
return x;
for (char c = 0;c < R ; c++ ) {
if(x.next[c] != null)
return x;
return null;
}
}
来自BOOK Algoritm 4,TrieST.java
那是怎么回事? for
循环可以多次返回x
; 返回类型方法可以吗? 如果可以,那么最终的返回值是多少?
一旦调用了“ return”,该功能就会终止。
因此,该函数返回的值为:
正如评论中所说,我猜一定有错字
return null;
应该在for循环之后。 然后该函数将返回:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.