二叉树
zhaohoutao
这个作者很懒,什么都没留下…
展开
-
LeetCode-96 不同的二叉搜索树
不同的二叉搜索树class Solution {public: int numTrees(int n) { int* a=new int[n+1]; a[0]=1; a[1]=1; //long result=0; //a[n]=a[i]*a[n-1-i];所有i=1.。。。n-1 for...原创 2019-07-07 23:22:15 · 53 阅读 · 0 评论 -
二叉树转换成链表和搜索二叉树转换成双链表
`二叉树转换成链表``/**Definition for a binary tree node.struct TreeNode {int val;TreeNode *left;TreeNode *right;TreeNode(int x) : val(x), left(NULL), right(NULL) {}};/class Solution {p...原创 2019-08-28 14:28:43 · 179 阅读 · 0 评论 -
树的所有左节点小于根节点,所有右节点大于根节点(不是二叉搜索树)
bool isDUI(TreeNode* root){ if (root == NULL) return true; bool l = false; bool r = false; l = isDUI(root->left); r = isDUI(root->right); bool isOK = true; if (root->left != NULL) ...原创 2019-08-11 15:02:47 · 3616 阅读 · 0 评论 -
LeetCode 124 二叉树中的最大路径和
二叉树中的最大路径和 int Maxsum(TreeNode* root, int& maxsum) { int currentsum=0; if(root==NULL) return 0; int left_max=Maxsum(root->left,maxsum); int right_ma...原创 2019-08-14 21:50:01 · 49 阅读 · 0 评论 -
LeetCode 129 求根到叶子节点数字之和
求根到叶子节点数字之和/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} ...原创 2019-08-14 20:59:11 · 83 阅读 · 0 评论 -
求树的最大深度和最小深度的非递归实现
求树的最大深度和最小深度的非递归实现int long_depth(TreeNode* root){ //对于这种东西使用的是队列的方式 deque<TreeNode*> deque_tree; deque_tree.push_back(root); int depth = 0; int thislevel=1; int nextlevel=0; while (!deq...原创 2019-07-21 19:44:10 · 443 阅读 · 0 评论 -
二叉树的前序遍历后序遍历中序遍历的非递归实现以及相应的拓展
二叉树的前序遍历后序遍历中序遍历的非递归实现以及相应的拓展//树的后序遍历void houxu(TreeNode* root){ int top = -1; int flag[10000]; stack<TreeNode*> s_t; TreeNode* p = root; while (!s_t.empty() || p != NULL) { while ...原创 2019-07-25 17:00:12 · 94 阅读 · 0 评论 -
LeetCode 109 有序链表转换二叉搜索树
有序链表转换二叉搜索树/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; *//** * Definition for a bina...原创 2019-07-20 23:26:04 · 73 阅读 · 0 评论 -
LeetCode 235 二叉搜索树的最近公共祖先
二叉搜索树的最近公共祖先/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {}...原创 2019-07-29 15:52:50 · 51 阅读 · 0 评论 -
LeetCode 257 二叉树的所有路径
二叉树的所有路径/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }...原创 2019-07-16 18:03:46 · 69 阅读 · 0 评论 -
哈弗曼编码树
哈弗曼编码树使用了优先队列struct TreeNode{ int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {}};TreeNode* haff_man(vector<int> nums){ int len = nums.siz...原创 2019-07-15 22:36:37 · 67 阅读 · 0 评论 -
LeetCode-49 字母异位词分组
字母异位词分组class Solution {public: vector<vector<string>> groupAnagrams(vector<string>& strs) { //字母相同的但是顺序不同的字符串d vector<vector<string>> result; map<string,...原创 2019-07-04 19:45:46 · 99 阅读 · 0 评论 -
LeetCode-199 二叉树的右视图
二叉树的右视图/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * };...原创 2019-07-02 22:28:57 · 106 阅读 · 0 评论 -
LeetCode-114 二叉树展开为链表
二叉树展开为链表/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} ...原创 2019-07-02 21:28:50 · 78 阅读 · 0 评论 -
LeetCode-236 二叉树的最近公共祖先
二叉树的最近公共祖先class Solution {public: vector<TreeNode*> path; vector<vector<TreeNode*>> result; int flag_1 = false; int flag_2 = false; TreeNode* lowestCommonAncestor(TreeNode* r...原创 2019-07-02 19:14:39 · 82 阅读 · 0 评论 -
LeetCode-113 路径总和 II
路径总和2代码/*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode(int x) : val(x), left(NULL), right(NULL) {}...原创 2019-07-02 17:40:47 · 65 阅读 · 0 评论 -
LeetCode 662 二叉树最大宽度
二叉树最大宽度/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * };...原创 2019-08-30 18:15:17 · 160 阅读 · 0 评论