在Java中满足特定条件时,是否有一种方法可以结束递归方法? [英] Is there a way to end a recursive method when a certain condition is met in Java?
本文介绍了在Java中满足特定条件时,是否有一种方法可以结束递归方法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
是否有一种方法可以在满足条件时突然返回调用以下方法的方法?类似于中断循环。
Is there a way to abruptly return to the method that calls the method below when the condition is met? Something similar to a break for loops.
public void createTree(TreeNode tree) throws IOException {
if (i >= preorder.length) {
// Leave recursive method
} else if (preorder[i] == '0') {
tree.value = '0';
tree.left = tree.right = null;
i++;
} else {
tree.value = preorder[i];
i++;
tree.left = new TreeNode();
createTree(tree.left);
tree.right = new TreeNode();
createTree(tree.right);
}
}
谢谢。
推荐答案
您可以从方法中返回状态:
You could return a status from the method :
/**
* @return false if the recursion has been aborted
*/
public boolean createTree(TreeNode tree) throws IOException {
if (i >= preorder.length) {
return false;
}
else if (preorder[i] == '0') {
tree.value = '0';
tree.left = tree.right = null;
i++;
}
else {
tree.value = preorder[i];
i++;
tree.left = new TreeNode();
if (!createTree(tree.left)) {
return false;
};
tree.right = new TreeNode();
if (!createTree(tree.right)) {
return false;
}
}
}
这篇关于在Java中满足特定条件时,是否有一种方法可以结束递归方法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文