
二叉树
坂田银时君
这个作者很懒,什么都没留下…
展开
-
非递归实现二叉树的后序遍历、前序遍历、中序遍历
树的遍历可以用递归实现,一般情况下,能用递归解决的问题都可以用栈解决。 对于后续遍历,在父节点出栈时,需要判断左右孩子是否已经遍历过。可以定义一个新的结构体用于记录结点的左右孩子是否遍历过。vector<int> postOrder(TreeNode *root)//后序遍历{ vector<int> res; if (root == NULL) return res; T原创 2017-10-16 17:15:15 · 250 阅读 · 0 评论 -
判断二叉树是否是平衡树
思路:在计算二叉树高度的同时,判断左右子树的高度差是否小于等于1 一边遍历树一边判断每个结点是否具有平衡性bool IsBalanced(TreeNode *root, int & dep) { if (root == NULL) { return true; } int left = 0; int right = 0; if (IsBala原创 2017-10-16 19:47:27 · 240 阅读 · 0 评论