二叉树的最全总结,常考题型,持续更新
1.1 二叉树的初始化
1 | #initial of BinaryTree |
1.2 创建一个二叉树
1 | #create a BinaryTree [18,7,11,3,4,5,6,#,#,#,#,1,3,2,4] |
1.3 前序遍历
1 | #递归版本 |
1.4 中序遍历
1 | #递归版本 |
1.5 后序遍历
1 | #递归 |
1.6 层序遍历
1 | def LevelOrder(self, node): |
1.7 计算节点数
1 | #递归版本 |
1.8 计算树的深度
1 | def getTreeDepth(self, root): |
1.9 计算树的叶子树
1 | def countLeaves(self, root): |
1.10 获取第K层节点数
1 | def getKLevel(self, root, K): |
1.11 判断两颗二叉树是否相同
1 | def StrucCmp(self, root1, root2): |
1.12 二叉树的镜像
1 | def Mirror(self, root): |
1.13 找最低公共祖先节点
1 | def findLCA(self, root, node1, node2): |
1.14 获取两个节点的距离
1 | def getDist(self, root, node1, node2): |
1.15 找一个节点的所有祖宗节点
1 | def findAllAncestor(self, root, target): |