ZBLOG

二叉树翻转js

以下是使用JavaScript实现二叉树翻转的代码:

// 定义二叉树节点
class TreeNode {
  constructor(value) {
    this.val = value;
    this.left = null;
    this.right = null;
  }
}

// 翻转二叉树函数
function invertTree(root) {
  if (root === null) return root; // 边界情况,空节点直接返回

  // 递归地翻转左右子树
  let left = invertTree(root.left);
  let right = invertTree(root.right);

  // 将左右子树互换
  root.left = right;
  root.right = left;

  return root; // 返回翻转后的根节点
}

使用示例:

// 创建一棵二叉树
let tree = new TreeNode(4);
tree.left = new TreeNode(2);
tree.right = new TreeNode(7);
tree.left.left = new TreeNode(1);
tree.left.right = new TreeNode(3);
tree.right.left = new TreeNode(6);
tree.right.right= new TreeNode(9);

console.log("翻转前:", tree);

invertTree(tree);

console.log("翻转后:", tree);

这段代码会输出原始的二叉树和翻转后的结果。注意,这里我们通过递归来遍历每个节点,并通过交换左右子节点来实现反转。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=12971

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?