会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
周公瑾55
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
下一页
2024年8月7日
代码随想录day22 || 77 组合,216 组合总和,17 电话号码字母组合
摘要: 回溯问题 回溯通常用来解决这些问题 组合问题:N个数里面按一定规则找出k个数的集合 切割问题:一个字符串按一定规则有几种切割方式 子集问题:一个N个数的集合里有多少符合条件的子集 排列问题:N个数按一定规则全排列,有几种排列方式 棋盘问题:N皇后,解数独等等 回溯的通用模板func backtrac
阅读全文
posted @ 2024-08-07 13:51 周公瑾55
阅读(20)
评论(0)
推荐(0)
2024年8月6日
代码随想录day21 || 669 修剪二叉搜索树,108 将有序数组转化为二叉搜索树,538 二叉搜索树转化为累加树
摘要: 669 修建二叉树 func trimBST(root *TreeNode, low int, high int) *TreeNode { // 暴力笨方法, 遍历,删除范围之外的节点 if root == nil { return nil } var res []int inorder(root,
阅读全文
posted @ 2024-08-06 11:51 周公瑾55
阅读(20)
评论(0)
推荐(0)
2024年8月5日
代码随想录day20 || 235 二叉搜索树最近公共祖先,701 二叉搜索树插入,450,二叉搜索树删除节点
摘要: 235 二叉搜索树最近公共祖先 unc lowestCommonAncestor(root, p, q *TreeNode) *TreeNode { // 本题相较于普通二叉树寻找最近公共祖先加了题设条件二叉搜索树,所以使用二叉搜索树特性 // 如果root 大于两个目标节点,那么目标都在root左
阅读全文
posted @ 2024-08-05 11:48 周公瑾55
阅读(24)
评论(0)
推荐(0)
2024年8月3日
代码随想录day18 || 530 二叉搜索树最小差,501 二叉搜索树众数,236 二叉搜索树最近公共祖先
摘要: 530 二叉搜索树最小差 var min int var prev *TreeNode func getMinimumDifference(root *TreeNode) int { // 二叉搜索树,中序遍历比较相邻两个元素差,并返回最小绝对差 min = math.MaxInt prev = n
阅读全文
posted @ 2024-08-03 11:57 周公瑾55
阅读(14)
评论(0)
推荐(0)
2024年8月2日
代码随想录day17 || 654 最大二叉树,617 合并二叉树,700 二叉搜索树搜索,98 验证二叉搜索树
摘要: 645 最大二叉树 func constructMaximumBinaryTree(nums []int) *TreeNode { // 思路,算法思路基本等同于通过中序前序构造二叉树 // 1, 取最大值作为根节点 // 2, 切割数组 // 3, 递归左右子树 if len(nums) == 0
阅读全文
posted @ 2024-08-02 11:58 周公瑾55
阅读(9)
评论(0)
推荐(0)
2024年8月1日
代码随想录day16 || 513 树左下角值,112 路径之和,116 中序后序遍历构造二叉树
摘要: 切片传递问题 question: 什么情况下传递切片,什么情况下传递切片指针,为什么有时候会修改原始副本,有时候又不会呢? type sli []int func main() { slice := []int{1} fmt.Printf("slice: %p\n", slice) change1(
阅读全文
posted @ 2024-08-01 13:08 周公瑾55
阅读(14)
评论(0)
推荐(0)
2024年7月31日
代码随想录day15 || 110 平衡二叉树,257 二叉树所有路径,404 左叶子之和,222 完全二叉树节点个数
摘要: 110 平衡二叉树 // 计算平衡二叉树,定义,左右子树高度差不超过1,然后考虑计算高度,计算高度通常使用从叶子节点递归向上传递高度计算,也就是后续遍历的方式 func isBalanced(root *TreeNode) bool { // 思路 后续遍历同时求左右子树的高度,如果左右子树的高度差
阅读全文
posted @ 2024-07-31 13:59 周公瑾55
阅读(11)
评论(0)
推荐(0)
2024年7月30日
代码随想录day14 || 226 翻转二叉树,101 对称二叉树, 104 二叉树的最大深度, 111 二叉树的最小深度
摘要: 226 翻转二叉树 func invertTree(root *TreeNode) *TreeNode { // 思考,广度优先遍历,对于每一层,翻转其左右子节点 if root == nil { return nil } queue := list.New() queue.PushBack(roo
阅读全文
posted @ 2024-07-30 12:45 周公瑾55
阅读(44)
评论(0)
推荐(0)
2024年7月29日
代码随想录day13 || 树定义以及遍历
摘要: 二叉树定义和种类 二叉树是一种树形数据结构,其中每个节点最多有两个子节点,通常称为“左子节点”和“右子节点”。二叉树在计算机科学中有广泛的应用,比如表达式解析、排序算法、搜索算法等。 二叉树的定义 一个二叉树由一组节点组成,其中每个节点至多有两个子节点,分别称为左子节点和右子节点。二叉树可以是空的(
阅读全文
posted @ 2024-07-29 13:42 周公瑾55
阅读(33)
评论(0)
推荐(0)
2024年7月27日
代码随想录day11 || 150 逆表达式求值 239 滑动窗口最大值 347 前k最高频元素
摘要: 150 逆波兰表达式计算 func evalRPN(tokens []string) int { // 自己想是真的想不出来,看了视频之后有了思路 // 本质上逻辑就是遇到数字入栈,遇到运算符号 出栈两个元素然后计算再入栈,最终就是计算结果 stack := Constructor() for _,
阅读全文
posted @ 2024-07-27 15:46 周公瑾55
阅读(19)
评论(0)
推荐(0)
上一页
1
2
3
4
5
下一页
公告