算法笔记

滑动窗口 双指针 贪心 动态规划 排序 二叉树

二月 22, 2023 · nobject

算法笔记 - 二叉树

递归模板 1 2 3 4 5 6 7 8 9 10 func traverse(root *TreeNode) { if root == nil { return } // 前序位置 traverse(root.Left) // 中序位置 traverse(root.Right) // 后序位置 } 层序遍历 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 // 输入一棵二叉树的根节点,层序遍历这棵二叉树 func levelTraverse(root *TreeNode) { if root == nil { return } q := make([]*TreeNode, 0) q = append(q, root) // 从上到下遍历二叉树的每一层 for len(q) > 0 { sz := len(q) // 从左到右遍历每一层的每个节点 for i := 0; i < sz; i++ { cur := q[0] q = q[1:] // 将下一层节点放入队列 if cur....

二月 22, 2023 · nobject

Interview_algorithm

排序算法 树

三月 5, 2021 · nobject