技术文章

使用递归解决“二叉树的中序遍历”问题

二叉树的中序遍历 给你二叉树的根节点 root ,返回它节点值的中序遍历。 中序遍历: 左根右,第二次经过该节点时进行打印,即左边回溯时。 上图打印顺序应...

使用递归解决“二叉树的前序遍历”问题

二叉树的前序遍历 给你二叉树的根节点 root ,返回它节点值的前序遍历。 前序遍历: 根左右,第一次经过节点即打印,直到打印null,往回溯,打印右子树。 ...

二叉树遍历的几种概念

二叉树遍历 从根节点往下查找,先找左子树、直至左子树为空(左子节点逐个入栈、直至左子节点为空),再找右子树(出栈找右子节点) 四种顺序:按照排序时根节点...

使用贪心算法解决“三角形的最大周长”问题

从上往下,找到一个节点时,标记这个节点的深度。查看该节点是否为叶子节点,如果是直接返回深度(找到第一个叶子节点即可,后面就不需要判断了)

使用贪心算法解决“柠檬水找零”问题(吊炸天的解法)

从上往下,找到一个节点时,标记这个节点的深度。查看该节点是否为叶子节点,如果是直接返回深度(找到第一个叶子节点即可,后面就不需要判断了)

使用贪心算法解决“最长连续递增序列”问题

从上往下,找到一个节点时,标记这个节点的深度。查看该节点是否为叶子节点,如果是直接返回深度(找到第一个叶子节点即可,后面就不需要判断了)

使用广度优先解决“二叉树的最小深度”问题

从上往下,找到一个节点时,标记这个节点的深度。查看该节点是否为叶子节点,如果是直接返回深度(找到第一个叶子节点即可,后面就不需要判断了)

使用深度优先解决“二叉树的最小深度”问题

遍历整棵树,找到每一个叶子节点,从叶子节点往上开始计算(使用递归),左右子节点都为空则记录深度为1;左右子节点只有一边,深度记录为子节点深度+1;左右...

使用滑动窗口算法解决“子数组最大平均数”问题

滑动窗口是一个大小可变的窗口,左右两端方向一致地向前滑动。它其实是双指针算法中的一个特例。一个指针指向窗口第一个元素,一个指针指向窗口最后一个元素...

合并两个有序数组的三种解法

合并两个有序数组 两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。 初始化 nums1 和 nums2 的元素数量分别为 m 和...
1…1314151617…26