import java.util.ArrayList;
public class Solution {
public int number;
public void expandTree (TreeNode root) {
// write code here
if(root==null){
return;
}
//计算树节点的个数
computeTreeNumber(root);
//初始化
ArrayList<TreeNode> treeNodeArrayList = new ArrayList<>(number);
//把节点放入到容器中
doExpandTree(root,treeNodeArrayList);
//生成链表树
TreeNode temp = root;
temp.left=null;
for (int i = 1; i < treeNodeArrayList.size(); i++) {
temp.right=treeNodeArrayList.get(i);
temp.right.left=null;
temp=temp.right;
}
}
public void computeTreeNumber(TreeNode root){
if(root!=null){
number++;
} else {
return;
}
computeTreeNumber(root.left);
computeTreeNumber(root.right);
}
private void doExpandTree(TreeNode root,ArrayList<TreeNode> treeNodeArrayList) {
if(root!=null){
treeNodeArrayList.add(root);
}else {
return;
}
if(root.left!=null){
doExpandTree(root.left,treeNodeArrayList);
}
if(root.right!=null){
doExpandTree(root.right,treeNodeArrayList);
}
}
}