树(一)

题目:在树中加一行

代码:

```

packageTree;

/**

* Created by gmy on 2017/6/19.

*/

public classTreeNode {

intval;

TreeNodeleft;

TreeNoderight;

TreeNode(intx) {

this.val=x;

}

}


packageTree;

/**

* Created by gmy on 2017/6/19.

*/

public classSolution {

publicTreeNode addOneRow(TreeNode t,intv,intd){

if(d==1){

TreeNode n=newTreeNode(v);

System.out.println(n.val);

n.left=t;

returnn;

}

insert(v,t,1,d);

returnt;

}

public voidinsert(intval,TreeNode node,intdepth,intn){

if(node==null)

return;

if(depth==n-1){

TreeNode t=node.left;

node.left=newTreeNode(val);

node.left.left=t;

t=node.right;

node.right=newTreeNode(val);

node.right.right=t;

}

else{

insert(val,node.left,depth+1,n);

insert(val,node.right,depth+1,n);

}

}

}

```

packageTree;

/**

* Created by gmy on 2017/6/19.

*/

public classtest {

public static voidmain(String[] args) {

//创建树

TreeNode treeNode=newTreeNode(4);

TreeNode treeNode1=newTreeNode(2);

TreeNode treeNode2=newTreeNode(6);

TreeNode treeNode3=newTreeNode(3);

TreeNode treeNode4=newTreeNode(1);

TreeNode treeNode5=newTreeNode(5);

treeNode.left=treeNode1;

treeNode.right=treeNode2;

treeNode1.left=treeNode3;

treeNode1.right=treeNode4;

treeNode2.left=treeNode5;

Solution s=newSolution();

pre( s.addOneRow(treeNode,1,2));

}

public static voidpre(TreeNode treeNode){//先序遍历

if(treeNode!=null){

System.out.print(treeNode.val+" ");

pre(treeNode.left);

pre(treeNode.right);

}

}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容