int maxlevelWithMaxSum(BinaryTreeNode root){
BinaryTreeNode temp;
int level = 0;
int maxLevel = 0;
LLQueue q = new LLQueue();
int currentSum = 0;
int maxSum = 0;
q.enQueue(root);
q.enQueue(null);
while(!q.isEmpty()){
temp = q.deQueue();
if(temp == null){
if(currentSum > maxSum){
max = currentSum;
maxLevel = level;
}
if(!q.isEmpty()){
currentSum = 0;
q.enQueue(null);
}
level++;
}else{
currentSum += temp.getData();
if(temp.getLeft()!= null){
q.enQueue(temp.getLeft());
}
if(temp.getRight()!= null){
q.enQueue(temp.getRight());
}
}
q.deleteQueue();
return maxLevel;
}
}
找出二叉树中同一层结点数据之和最大的层
猜你喜欢
转载自blog.csdn.net/weixin_37632716/article/details/111302222
今日推荐
周排行