有两种方法:
public void getBalance(){
balance(root);
}
private void balance(TreeNode node) {
if (node != null && node.left != null) {
balance(node.left);
balance(node.right);
System.out.println(node.left);
//sout work fine
}
}
需要从balance()返回值;
如果我将返回值从void更改为TreeNode,并更改代码
private TreeNode balance(TreeNode node) {
if (node != null && node.left != null) {
balance(node.left);
balance(node.right);
return node.left;
}
return balance(node);
}
返回sStackOverflowError异常。
我需要通过此方法返回node left
。
请帮助。