Typescript描述
/*
* @Author: liny4
* @Date: 2022-01-12 10:07:45
* @LastEditors: liny4
* @LastEditTime: 2022-01-12 11:46:40
* @Description: file content
*/
class TreeNode {
val:number;
left:TreeNode;
right:TreeNode;
constructor(val:number) {
this.val = val;
this.left = null;
this.right = null
}
}
class binaryTree {
root:TreeNode;
constructor() {
this.root = null
}
insert(val:number){
const newNode = new TreeNode(val);
const insertNode = (node:TreeNode,newNode:TreeNode)=>{
if(newNode.val<node.val){
if(node.left===null){
node.left = newNode;
}else{
insertNode(node.left,newNode)
}
}else{
if(node.right===null){
node.right = newNode
}else{
insertNode(node.right,newNode)
}
}
}
if(!this.root){
this.root=newNode;
}else{
insertNode(this.root,newNode)
}
}
}
const tree = new binaryTree();
tree.insert(11);
tree.insert(11)
tree.insert(7)
tree.insert(5)
tree.insert(3)
tree.insert(9)
tree.insert(8)
tree.insert(10)
tree.insert(13)
tree.insert(12)
tree.insert(14)
tree.insert(20)
tree.insert(18)
tree.insert(25)
console.log(JSON.stringify(tree));
\