第一种: 在当前节点添加(错误)
这种方式构造出来的树是零零散散的节点,是每次给**current**赋值但是上一节点的**current.righr**是不变的,然后**current**和上一节点的right就不连了,所以是错误的
public TreeNode increasingBST(TreeNode root) {
ArrayList<Integer> list = new ArrayList<>();
mid(root,list);
TreeNode node = new TreeNode();
TreeNode current = node;
for(int a : list){
current = new TreeNode(a);
current = current.right;
}
return node;
}
第二种: 在当前的右节点节点添加
public TreeNode increasingBST(TreeNode root) {
ArrayList<Integer> list = new ArrayList<>();
mid(root,list);
TreeNode node = new TreeNode(-1);
TreeNode current = node;
for(int a : list){
current.right = new TreeNode(a);
current = current.right;
}
return node.right;
}
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。