java实现反转二叉树
时间: 2023-11-06 09:04:46 浏览: 52
要在Java中实现反转二叉树,可以使用递归或非递归的方法。以下是两种实现方式:
1. 递归实现:
```java
public TreeNode invertNode(TreeNode root) {
if(root == null) return root;
TreeNode temp = root.left;
root.left = invertNode(root.right);
root.right = invertNode(temp);
return root;
}
```
2. 非递归实现:
```java
public TreeNode invertNode(TreeNode root) {
if(root == null) return null;
Queue<TreeNode> queue = new LinkedList<TreeNode>();
queue.add(root);
while(!queue.isEmpty()) {
TreeNode current = queue.poll();
TreeNode temp = current.left;
current.left = current.right;
current.right = temp;
if(current.left != null) queue.add(current.left);
if(current.right != null) queue.add(current.right);
}
return root;
}
```
以上是两种在Java中实现反转二叉树的方法,你可以根据需要选择其中一种来使用。<span class="em">1</span><span class="em">2</span>