qcode
  • 创作工场专业版,一问多答!更智能、更完整、更原创
  • 这是一个超强内容创作平台,它会写文章、做设计、绘图、敲代码,有问必答!
🔥点击使用-免登录深度版🔥

请帮忙写一段二叉树结构的代码

时间2023-04-22 14:06:46 提问来自 河北省石家庄市 的网友 分类创作 浏览352
class TreeNode { constructor(val) { this.val = val; this.left = null; this.right = null; } } class BinaryTree { constructor() { this.root = null; //根节点开始为空 } insertNode(node, newNode) { //插入节点函数,可以递归实现插入新的子节点 if (newNode.val < node.val) { //判断插入的值是否小于当前树的值 if (node.left === null) { node.left = newNode; } else { this.insertNode(node.left, newNode); } } else { if (node.right === null) { node.right = newNode; } else{ this.insertNode(node.right, newNode); } }} inOrderTraverse(callback){ //中序遍历函数,也可以通过递归实现 function traverse(node){ if (node !== null){ traverse(node.left); callback(node); traverse(node, right); }} traverse(this..root)} preOrderTraverse(){ //前序遍历函数,也可以使用递归实现 function traversePreOrder(){ if (this..root !==null){ callback(); traversePreOrder(); }} traversePreOrder()} postOrderTraverse(){//后序遍历函数,也可以使用递归实现 function postOrderTraverse(){ if (this..root !==null){ postOrderTraverse(); callback(); }} postOrderTraverse()}

不满意?免费深度重写!

免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。

上一篇 平凡的世界读后感2000字 下一篇 建设教育强国的青年力 量