首页 > TAG信息列表 > pLeft

JZ58 对称的二叉树

JZ58 对称的二叉树 描述 请实现一个函数,用来判断一棵二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。 示例1 输入: {8,6,6,5,7,7,5} 返回值: true 示例2 输入: {8,6,9,5,7,7,5} 返回值: false 解析 这题看起来简单又有点难度,但思路到位了理解实

数据结构学习第二十一课(平衡二叉树)

平衡二叉树 /* 平衡二叉树: 概念:(树中每个节点)左右子树高度差不超过1的有序二叉树; 每个节点都先按照有序二叉树的方式来插入: 如果不平衡:有四种情况 先判断是哪种不平衡的情况,新结点是当前节点的左孩子还是右孩子 新节点:pNew 当前节点:pCurrent 根结点:pRoot if(pCurr

红黑树(RBT)学习笔记

引出         基于BST极端情况(链表)引出了平衡二叉树,又分为高度 和颜色上的平衡,AVL和RBT。AVL——树中任一结点的左右子树高度差不超过1。仅查询用AVL较多,对于删除和插入操作,为了维护高度上绝对平衡开销过大。RBT则是放弃了这种绝对平衡,实现大致平衡 特性 1.结点要么黑色要

使用递归和循环实现二叉树镜像

剑指offer 27CodingInterviewChinese2/MirrorOfBinaryTree.cpp at master · zhedahht/CodingInterviewChinese2 (github.com)   递归 void MirrorRecursively(BinaryTreeNode *pNode) { if((pNode == nullptr) || (pNode->m_pLeft == nullptr && pNode->m_pRig

树的实现

#include "BinTree.h" #include <assert.h> #include <malloc.h> #include <stdio.h> #include <string.h> #include "Queue.h" BTNode* BuyBinTeeNode(BTDataType data) { BTNode* pNewNode = (BTNode*)malloc(sizeof(BTNo

105.Construct Binary Tree from Preorder and Inorder Traversal

/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: TreeNode *buildTree(vector<int>