随笔分类 -  数据结构---树

摘要:题意:寻找二叉查找树中出现次数最多的值 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : v 阅读全文
posted @ 2020-04-01 00:02 Somnuspoppy 阅读(211) 评论(0) 推荐(0) 编辑
摘要:题意:在二叉查找树中查找两个节点之差的最小绝对值 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x 阅读全文
posted @ 2020-03-31 23:31 Somnuspoppy 阅读(126) 评论(0) 推荐(0) 编辑
摘要:题意:在BST中寻找两个节点,使它们的和为一个给定值。 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(in 阅读全文
posted @ 2020-03-26 00:12 Somnuspoppy 阅读(127) 评论(0) 推荐(0) 编辑
摘要:题意:根据有序链表构造平衡的二叉查找树。 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) 阅读全文
posted @ 2020-03-25 21:48 Somnuspoppy 阅读(111) 评论(0) 推荐(0) 编辑
摘要:题意:从有序数组中构造平衡的BST。 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : va 阅读全文
posted @ 2020-03-25 21:33 Somnuspoppy 阅读(114) 评论(0) 推荐(0) 编辑
摘要:题意:二叉树求两点LCA。 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), 阅读全文
posted @ 2020-03-24 22:42 Somnuspoppy 阅读(95) 评论(0) 推荐(0) 编辑
摘要:题意:求BST中两点的最近公共祖先。 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : va 阅读全文
posted @ 2020-03-24 15:40 Somnuspoppy 阅读(116) 评论(0) 推荐(0) 编辑
摘要:题意:把二叉查找树每个节点的值都加上比它大的节点的值。 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(in 阅读全文
posted @ 2020-03-23 17:30 Somnuspoppy 阅读(141) 评论(0) 推荐(0) 编辑
摘要:题意:寻找二叉查找树的第 k 个元素。 法一:中序遍历 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(in 阅读全文
posted @ 2020-03-21 11:09 Somnuspoppy 阅读(137) 评论(0) 推荐(0) 编辑
摘要:题意:非递归实现二叉树的中序遍历。 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val 阅读全文
posted @ 2020-03-20 17:14 Somnuspoppy 阅读(115) 评论(0) 推荐(0) 编辑
摘要:题意:非递归实现二叉树的后序遍历。 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val 阅读全文
posted @ 2020-03-20 17:13 Somnuspoppy 阅读(104) 评论(0) 推荐(0) 编辑
摘要:题意:非递归实现二叉树的前序遍历。 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val 阅读全文
posted @ 2020-03-20 17:11 Somnuspoppy 阅读(131) 评论(0) 推荐(0) 编辑
摘要:题意:找到树中左下角的节点。 分析:层次遍历,每层从右往左遍历,最后一个结点即为左下角结点。 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *r 阅读全文
posted @ 2020-03-20 14:32 Somnuspoppy 阅读(141) 评论(0) 推荐(0) 编辑
摘要:题意:求二叉树每层节点的平均值。 分析:bfs层次遍历,每步循环一次性处理一整层。 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; 阅读全文
posted @ 2020-03-18 23:35 Somnuspoppy 阅读(191) 评论(0) 推荐(0) 编辑
摘要:题意:找出二叉树中第二小的节点。 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val( 阅读全文
posted @ 2020-03-18 15:58 Somnuspoppy 阅读(138) 评论(0) 推荐(0) 编辑
摘要:题意:每个节点都有一个值,不同时遍历父子节点的情况下,求整棵树遍历后的和的最大值。 分析:每个节点都是选或不选,取最优 (1)选:左右子节点不能选,孙子节点可以选也可以不选 (2)不选:左右子节点可以选也可以不选 /** * Definition for a binary tree node. * 阅读全文
posted @ 2020-03-17 20:32 Somnuspoppy 阅读(133) 评论(0) 推荐(0) 编辑
摘要:题意:统计相同节点值的最大路径长度,两点间的最大路径代表两点间边的个数。 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * Tr 阅读全文
posted @ 2020-03-16 23:54 Somnuspoppy 阅读(172) 评论(0) 推荐(0) 编辑
摘要:题意:求树的最小深度。 分析:要考虑无左/右子节点的情况。 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode( 阅读全文
posted @ 2020-03-05 13:04 Somnuspoppy 阅读(104) 评论(0) 推荐(0) 编辑
摘要:题意:判断非空二叉树t是否为非空二叉树s的子树。 分析:对于树s的root结点来说,子树t:(1)与以root为根的树相等(2)在root->left子树中(3)在root->left子树中 /** * Definition for a binary tree node. * struct Tree 阅读全文
posted @ 2020-03-02 11:19 Somnuspoppy 阅读(153) 评论(0) 推荐(0) 编辑
摘要:题意:统计路径和等于sum的路径数量。 (1)节点值可正可负 (2)路径两端不一定是根结点或叶子结点 (3)路径一定是向下 分析:路径起点 (1)位于root(统计以root开头的和等于sum的路径数量) (2)位于root->left子树(递归) (3)位于root->right子树(递归) /* 阅读全文
posted @ 2020-03-01 23:24 Somnuspoppy 阅读(175) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示