5
A
回答
9
public static int findMaxOnesDepth(Node root){
if(root != null && root.getValue() == 1){
return Math.max(1 + findMaxOnesDepth(root.getLeft()),
1 + findMaxOnesDepth(root.getRight());
}
else {
return 0;
}
}
如果你是在节点是“0”,那么的“深度否则,如果您所在的节点是'1',则将左边和右边儿童的最大'深度'加1,并返回最大值。
上面的代码查找长度,找出沿路径的实际节点,你可以使用一个列表来跟踪这个
public static ArrayList<Node> findLongestOnesPath(Node root){
ArrayList<Node> currStack = new ArrayList<Node>();
if(root != null && root.getValue() == 1){
currStack.add(root);
ArrayList<Node> leftStack = findLongestOnesPath(root.getLeft());
ArrayList<Node> rightStack = findLongestOnesPath(root.getRight());
if(leftStack.size() > rightStack.size()){
currStack.addAll(leftStack);
}
else{
currStack.addAll(rightStack);
}
}
return currStack;
}
相关问题
- 1. 二叉搜索树路径
- 2. 功能找到最深的二叉搜索树总和
- 3. 二叉搜索树 - 得到最重的路径算法C++
- 4. 如何找到二叉树中最长的连续路径
- 5. 在二叉树中查找最大总和叶根路径
- 6. 查找二叉搜索树的最小深度
- 7. 如何查找并返回二叉树的最底部(最深节点)节点?二叉搜索树?
- 8. 二叉树中最大的二叉树搜索树
- 9. 计算二叉搜索树的深度?
- 10. 二叉树到二叉搜索树(BST)
- 11. 如何在二叉搜索树的右子树中找到最小值
- 12. 查找二叉树的最大深度
- 13. 查找二叉树的最深节点
- 14. 查找二叉搜索树
- 15. 如何在二叉搜索树中查找最小值?
- 16. 在二叉搜索树中打印最大深度
- 17. Java的二叉搜索树_从根到最近的叶子
- 18. Java二叉搜索树 - 计算到节点的路径长度
- 19. 二叉搜索树,你如何找到最大值?
- 20. DrRacket删除二叉搜索树的根
- 21. 将常规的二叉搜索树变成平衡的二叉搜索树
- 22. Java:二叉搜索的最小深度树递归
- 23. 在二叉搜索树中查找K个最大的元素
- 24. 在二叉搜索树中查找最近的节点
- 25. 如何找到深度在列表中记述的二叉树
- 26. 仅添加到根的二叉树
- 27. 在二叉搜索树中搜索值
- 28. 二叉搜索树
- 29. 二叉搜索树
- 30. 二叉搜索树
找到1秒的最长序列的最后一个节点? – 2011-05-24 12:54:28
@ Marino Simic是 – kc3 2011-05-24 12:57:59
根是否应该是1? – Naresh 2011-05-24 13:15:25