我试图在邮件订单遍历后返回我的树的字符串表示,但它正在给我作品。看起来像一个简单的代码,但我似乎无法得到它。调试也没有多大帮助。我忘记了我应该看的东西。这里出了什么问题? 我知道在这种意义上使用字符串是不好的做法,但我只是在扔东西。我本来可以使用字符串缓冲区或其他东西,但现在我难以理解为什么这不起作用并且想弄清楚原因。
public String postOrderTraversal(){
String answer = "";
return postOrderTraversal(root, answer);
}
private String postOrderTraversal(Node aux, String answer){
if(aux == null){
return "";
}
else{
postOrderTraversal(aux.left, answer);
postOrderTraversal(aux.right, answer);
answer += aux.data;
}
return answer;
}
答案 0 :(得分:0)
您没有添加子树的后期遍历。您可以将其更正为
private String postOrderTraversal(Node aux) {
if(aux == null) return "";
return postOrderTraversal(aux.left) + postOrderTraversal(aux.right) + aux.data;
}
答案 1 :(得分:0)
字符串是不可变对象。只是传递引用不会更新返回值。你应该试试StringBuilder。
$scope.newList = function (val) {
alert(val);
$scope.newfriends = $filter('filter')($scope.friends, {
val: $scope.searcha
})