二叉树
# 二叉树
lucky tiger
要一直前进,一直静下心来学习。
展开
-
力扣95 不同的二叉搜索树II
1、/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {原创 2020-07-21 11:14:12 · 198 阅读 · 0 评论 -
双递归二叉树 力扣1367二叉树中的列表 面试题04.10检查子树
1、https://leetcode-cn.com/problems/linked-list-in-binary-tree/class Solution {public: bool dfs(ListNode* head, TreeNode* root) { if(head == nullptr) return true; if(root == nullptr) return false; if(root->val != head-原创 2020-07-14 21:06:55 · 148 阅读 · 0 评论 -
力扣 面试题 17.12
1、TreeNode*res=newTreeNode(vec.front());TreeNode*head=res;中间变量 head 相当于一个开路者,不能没有他不然返回的只有最后一个节点/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; ...原创 2020-06-02 19:56:51 · 367 阅读 · 0 评论 -
力扣 872 叶子相似的树
1、https://leetcode-cn.com/problems/leaf-similar-trees//** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */c原创 2020-06-02 14:23:59 · 153 阅读 · 0 评论 -
力扣 面试题II平衡二叉树
进程与线程的区别,一个是上面所说的进程中可以有多个线程。第二个就是线程没有自己的资源,没有自己的地址空间,必须要依附于进程的地址空间中才可以运行。原创 2020-05-31 22:11:01 · 203 阅读 · 0 评论 -
力扣337 打家劫舍iii 递归 二叉树
class Solution {public: int rob(TreeNode* root) { vector<int> ans = dfs(root); return max(ans[0],ans[1]); } vector<int> dfs(TreeNode* root) { if(root == nullptr) return {0,0}; vector<int&g...原创 2020-05-29 13:42:27 · 165 阅读 · 0 评论 -
力扣637 二叉树平均值 BFS
/** * 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 {public: vector<double> average...原创 2020-05-24 17:15:11 · 163 阅读 · 0 评论 -
力扣112 路径总和
/** * 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 {public: bool hasPathSum(TreeNode* ro...原创 2020-05-24 16:27:39 · 169 阅读 · 0 评论 -
力扣108 将有序数组转换为二叉搜索树 递归 左闭右闭
1、2、/** * 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 {public: TreeNode* sortedArra原创 2020-05-24 15:19:58 · 162 阅读 · 0 评论 -
力扣606 根据二叉树创建字符串 递归*****
1、2、/** * 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 {public: string tree2str(Tree原创 2020-05-23 22:04:43 · 202 阅读 · 1 评论 -
力扣617 合并二叉树 递归
/** * 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 {public: TreeNode* mergeTrees(TreeNod...原创 2020-05-23 21:22:22 · 157 阅读 · 0 评论 -
力扣563 二叉树坡度 递归
1、2、/** * 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 { int sum=0;public: int m原创 2020-05-23 21:03:14 · 171 阅读 · 0 评论 -
力扣534 二叉树直径 递归
1、2、/** * 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 { int ans=0;public: int d原创 2020-05-23 20:41:21 · 144 阅读 · 0 评论 -
力扣1022 从根到叶的二叉树之和 递归
1、2、/** * 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 {public: const long num=1e9+7原创 2020-05-23 16:38:54 · 124 阅读 · 0 评论 -
力扣105 从前序与中序遍历构造二叉树 递归
1、2、/** * 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 {public: unordered_map<.原创 2020-05-23 15:10:46 · 109 阅读 · 0 评论 -
二叉树前中后序遍历
#include<iostream>#include<vector>#include<stack>#include<queue> using namespace std;struct TreeNode{ int val; TreeNode *left; TreeNode *right; TreeNode(int v) :val(v), left(NULL), right(NULL){}}; //-----------.转载 2020-05-17 21:07:15 · 141 阅读 · 0 评论 -
力扣783 二叉搜索树最小距离 前序遍历
1、二叉搜索树:左边大于中间大于右边前序遍历的递归代码:if(root==nullptr) return;bfs(root->left);res.push_back(root->val);bfs()root->right);/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *r原创 2020-05-17 21:04:16 · 148 阅读 · 0 评论