给定以下完美的二叉树,
1个
/ \
2 3
///
4 5 6 7
调用函数后,树应如下所示:
1->空
/ \
2-> 3->空
///
4-> 5-> 6-> 7->空
Java解决方案1-简单
公共 无效连接( TreeLinkNode根) {
如果(根== null )
返回;
LinkedList < TreeLinkNode > nodeQueue = 新的 LinkedList < TreeLinkNode > ();
LinkedList < Integer > depthQueue = 新的 LinkedList < Integer > ();
if ( root != null ){
nodeQueue。提供(根);
depthQueue。报价(1 );
}
而(! nodeQueue。的isEmpty ()){
TreeLinkNode topNode = nodeQueue。民意调查();
int depth = depthQueue。民意调查();
如果( depthQueue。的isEmpty ()){
topNode。next = null ;
} 否则 如果( depthQueue。PEEK ()>深度){
topNode。next = null ;
} else {
topNode。下一个 = nodeQueue。偷看();
}
如果( topNode。离开!= 空){
nodeQueue。报价(。topNode 左);
depthQueue。报价(深度+ 1 );
}
如果( topNode。右!= 空){
nodeQueue。报价(。topNode 右);
depthQueue。报价(深度+ 1 );
}
} }
最后,开发这么多年我也总结了一套学习Java的资料与面试题,如果你在技术上面想提升自己的话,可以关注我,私信发送领取资料或者在评论区留下自己的联系方式,有时间记得帮我点下转发让跟多的人看到哦。