找到树结构结点的最末级节点 java代码
时间: 2023-09-02 16:14:08 浏览: 88
可以使用递归的方法来找到树结构中最末级节点的 java 代码,示例代码如下:
```
public class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) { val = x; }
}
public TreeNode findLastNode(TreeNode root) {
// 如果根节点为空,则返回 null
if (root == null) {
return null;
}
// 如果当前节点是叶子节点,则直接返回当前节点
if (root.left == null && root.right == null) {
return root;
}
// 否则递归查找左子树和右子树的最末级节点
TreeNode leftLastNode = findLastNode(root.left);
TreeNode rightLastNode = findLastNode(root.right);
// 如果左子树和右子树都为空,则当前节点是最末级节点
if (leftLastNode == null && rightLastNode == null) {
return root;
}
// 如果左子树不为空,右子树为空,则返回左子树的最末级节点
if (leftLastNode != null && rightLastNode == null) {
return leftLastNode;
}
// 如果左子树为空,右子树不为空,则返回右子树的最末级节点
if (leftLastNode == null && rightLastNode != null) {
return rightLastNode;
}
// 如果左子树和右子树都不为空,则返回右子树的最末级节点
return rightLastNode;
}
```
以上代码在假设没有重复节点的情况下实现了找到二叉树结构的最末级节点。
阅读全文