gpt4 book ai didi

java - 反转二叉树时的返回语句

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:30:03 25 4
gpt4 key购买 nike

我在 leetcode 上做一些问题,遇到了以下问题:

Invert a binary tree:

4
/ \
2 7
/ \ / \
1 3 6 9

to
4
/ \
7 2
/ \ / \
9 6 3 1

我有解决方案,但我的代码不能只使用第一个 return 语句吗?难道第一个陈述不能作为基本案例并且足够了吗?为什么最后一个返回语句必须在那里?

public TreeNode invertTree(TreeNode root) {
if(root == null) {
return root;
}
TreeNode temp = root.left;
root.left = root.right;
root.right = temp;

invertTree(root.left);
invertTree(root.right);

return root;
}

最佳答案

您实际上并没有在递归中使用返回的 TreeNode。

如果你:

  1. 删除最后一个返回语句 AND
  2. 删除第一个返回语句 AND
  3. 将方法签名更改为void(来自TreeNode)

你应该实现同样的事情(但不返回输入的副本)。

关于java - 反转二叉树时的返回语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42797300/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com