java获取tree的末节点
时间: 2023-11-25 18:03:07 浏览: 50
假设你使用的是Java中的Tree结构,可以通过遍历Tree来获取末节点。具体的实现方法如下:
1. 首先判断Tree是否为空,如果为空,返回null。
2. 然后判断当前节点是否为叶子节点,如果是叶子节点,则返回当前节点。
3. 如果当前节点不是叶子节点,则遍历当前节点的所有子节点,找到子节点中的末节点。如果所有子节点都不是末节点,则返回当前节点本身。
下面是一个示例代码:
```
public TreeNode getLastNode(TreeNode root) {
if (root == null) {
return null;
}
if (root.left == null && root.right == null) {
return root;
}
TreeNode leftNode = getLastNode(root.left);
TreeNode rightNode = getLastNode(root.right);
if (leftNode != null && rightNode != null) {
return root;
}
return leftNode == null ? rightNode : leftNode;
}
```
其中,TreeNode表示树的节点,包含左右子节点和节点值。代码逻辑比较简单,需要注意的是判断当前节点是否为叶子节点的条件。需要同时判断左右子节点是否为空,而不是只判断一个子节点是否为空。
阅读全文