for循环遇到递归方法中的return语句

时间:2015-10-27 11:19:24

标签: java algorithm dictionary trie

target_link_libraries

来自BOOK Algoritm 4,TrieST.java

那么发生了什么? 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; } } 循环可以多次返回for;返回类型方法可以吗?如果没关系,那么最终的返回值是什么?

1 个答案:

答案 0 :(得分:0)

一旦调用“return”,函数就会终止。

因此函数返回的值为:

  • x 如果 x.val!= null
  • x 如果是第一个 c (即c = 0), x.next [c]!= null
  • null 否则

正如评论中所说,我猜必须有一个错字

return null;

应该在for循环之后。然后函数将返回:

  • x 如果 x.val!= null
  • x 如果 c x.next [c]!= null
  • null 否则