摘要: 回溯问题 回溯通常用来解决这些问题 组合问题:N个数里面按一定规则找出k个数的集合 切割问题:一个字符串按一定规则有几种切割方式 子集问题:一个N个数的集合里有多少符合条件的子集 排列问题:N个数按一定规则全排列,有几种排列方式 棋盘问题:N皇后,解数独等等 回溯的通用模板func backtrac 阅读全文
posted @ 2024-08-07 13:51 周公瑾55 阅读(20) 评论(0) 推荐(0)
摘要: 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)
摘要: 235 二叉搜索树最近公共祖先 unc lowestCommonAncestor(root, p, q *TreeNode) *TreeNode { // 本题相较于普通二叉树寻找最近公共祖先加了题设条件二叉搜索树,所以使用二叉搜索树特性 // 如果root 大于两个目标节点,那么目标都在root左 阅读全文
posted @ 2024-08-05 11:48 周公瑾55 阅读(24) 评论(0) 推荐(0)
摘要: 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)
摘要: 645 最大二叉树 func constructMaximumBinaryTree(nums []int) *TreeNode { // 思路,算法思路基本等同于通过中序前序构造二叉树 // 1, 取最大值作为根节点 // 2, 切割数组 // 3, 递归左右子树 if len(nums) == 0 阅读全文
posted @ 2024-08-02 11:58 周公瑾55 阅读(9) 评论(0) 推荐(0)
摘要: 切片传递问题 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)
摘要: 110 平衡二叉树 // 计算平衡二叉树,定义,左右子树高度差不超过1,然后考虑计算高度,计算高度通常使用从叶子节点递归向上传递高度计算,也就是后续遍历的方式 func isBalanced(root *TreeNode) bool { // 思路 后续遍历同时求左右子树的高度,如果左右子树的高度差 阅读全文
posted @ 2024-07-31 13:59 周公瑾55 阅读(11) 评论(0) 推荐(0)
摘要: 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)
摘要: 二叉树定义和种类 二叉树是一种树形数据结构,其中每个节点最多有两个子节点,通常称为“左子节点”和“右子节点”。二叉树在计算机科学中有广泛的应用,比如表达式解析、排序算法、搜索算法等。 二叉树的定义 一个二叉树由一组节点组成,其中每个节点至多有两个子节点,分别称为左子节点和右子节点。二叉树可以是空的( 阅读全文
posted @ 2024-07-29 13:42 周公瑾55 阅读(33) 评论(0) 推荐(0)
摘要: 150 逆波兰表达式计算 func evalRPN(tokens []string) int { // 自己想是真的想不出来,看了视频之后有了思路 // 本质上逻辑就是遇到数字入栈,遇到运算符号 出栈两个元素然后计算再入栈,最终就是计算结果 stack := Constructor() for _, 阅读全文
posted @ 2024-07-27 15:46 周公瑾55 阅读(19) 评论(0) 推荐(0)