【每日一题-12】平衡二叉树/镜像与杨氏矩阵查找
来源:互联网 发布:ajax怎么解析json数据 编辑:程序博客网 时间:2024/06/03 08:02
判断一棵二叉树是否是平衡二叉树
typedef struct TreeNode{int val;struct TreeNode* left;struct TreeNode* right;TreeNode(int data): val(data), left(NULL), right(NULL){}}Node;int TreeDepth(Node* root){if (root == NULL)return 0;int leftDepth = TreeDepth(root->left);int rightDepth = TreeDepth(root->right);return (leftDepth > rightDepth) ? (leftDepth + 1) : (rightDepth + 1);}bool IsBalanceTree(Node* root){if (NULL == root)return true;int leftDepth = TreeDepth(root->left);int rightDepth = TreeDepth(root->right);int diff = leftDepth - rightDepth;if (diff > 1 || diff < -1)return false;return IsBalanceTree(root->left) && IsBalanceTree(root->right);}
求一颗二叉树的镜像 void Mirro(Node* root){if (root == NULL || (root->left == NULL&&root->right == NULL))return;Node* tmp = root->left;root->left = root->right;root->right = tmp;if (root->left != NULL)Mirro(root->left);if (root->right != NULL)Mirro(root->right);}
一个m*n的矩阵,从左到右从上到下都是递增的,给一个数x,判断x是否在矩阵中。要求效率尽可能的高bool Find(int target, vector<vector<int> > array) {int row = array.size();int col = array[0].size();int i = 0, j = col-1;while (i < row && j >=0){if (target == array[i][j])return true;else if (target < array[i][j])j--;elsei++;}return false;}
阅读全文
0 0
- 【每日一题-12】平衡二叉树/镜像与杨氏矩阵查找
- 每日一题——判断二叉树是否平衡,求一棵二叉树的镜像
- 每日一题之判断一棵二叉树是否是平衡二叉树以及求一颗二叉树的镜像
- 每日一题(31) - 二叉树的镜像
- 求一颗二叉树的镜像 【每日一题】
- 平衡二叉树/镜像
- 判断二叉树是否平衡、求二叉树的镜像、按行列有序矩阵中快速查找元素是否存在
- 判断一棵二叉树是否是平衡二叉树/求一颗二叉树的镜像
- -判断一棵二叉树是否是平衡二叉树/求一颗二叉树的镜像
- 判断一棵二叉树是否是平衡二叉树/求一颗二叉树的镜像
- 判断一棵二叉树是否是平衡二叉树/求一颗二叉树的镜像
- 【每日一题-13】二叉树中查找节点/子树
- 二叉查找树与平衡树简介
- 二叉树--判断一棵二叉树是否是平衡二叉树&&求一颗二叉树的镜像
- 平衡二叉查找树
- 平衡二叉查找树
- 二叉平衡查找树
- 二叉平衡查找树:
- Linux修改/etc/profile导致卡在登陆界面
- python_对象整理
- C# TabControl重写
- hdu6053 TrickGCD
- 最高指挥官
- 【每日一题-12】平衡二叉树/镜像与杨氏矩阵查找
- LINUX grep练习题
- poj1729(bfs+优先队列优化)
- Thread类的常用方法
- C++之开始学习C++
- HDU-4649 Professor Tian(期望dp)
- HDU-2601-An easy problem
- 后缀子串排序
- 各种进制转换