Java返回语句概念

时间:2016-01-18 22:27:35

标签: java tree return binary-search-tree

所以,我想深入打印一个二叉搜索树,我有以下代码:

public String printBalancedBSTDepth(Node head) {

    if(head == null) {
        // do nothing
    }
    else 
        return head.value + " " + printBalancedBSTDepth(head.left) + " " + printBalancedBSTDepth(head.right);
}

当head == null时,我不想打印任何东西。为什么Java强迫我在每种情况下都添加一个return语句?我不明白这个需要。在C语言中,你把返回放在你需要的地方,你不会像Java一样把它放在任何地方。如果我在head == null时添加“return”“”,我的字符串将如下所示:4 2 1 3 6 5 7。许多不需要的空间......

1 个答案:

答案 0 :(得分:1)

如果您宣布您的方法会返回String,那么为什么不想退回?

正如其他人和你提到的那样,你可以返回一个空字符串""。或许你可以返回null。因此,为了避免额外的不需要的空间,您可以在打印代码中进行验证,如下所示:

if (result == null ) { // Or result.equals("")
   // Do nothing, or the necessary so those unwanted spaces aren't printed
}