String,StringBuilder和StringBuffer之间的区别 2020-07-09 编程语言 String String属于对象(引用在栈中,对象在堆中),但String是不可变的,每次操作都会生成新的对象,如下图所示 StringBuilder,StringBuffer StringBuilder Read more...
三数之和 2020-07-09 算法 问题描述 从一个整数数组中找出所有的和为0的不重复的三元组。 https://leetcode-cn.com/problems/3sum/ 解题思路 首先想到的是“组合之和”这种解题思路,但是这种解题思路的复杂度太高了。 其 Read more...
二叉树中的最大路径和 2020-07-09 算法 题目描述 类似于从数组中找到最大子数组。 不同于寻找二叉树的最大直径。 https://leetcode-cn.com/problems/binary-tree-maximum-path-sum/ 思路 首先转换为寻找每个节点的最大贡献值:即以该节点为起点的最大路径和,这 Read more...
二叉树展开为链表 2020-07-08 算法 问题描述 将一颗二叉树以先序遍历的顺序展开为一个单链表。 其本质上是将二叉树扁平化,变为一颗只有右子树的二叉树。 https://leetcode-cn.com/problems/flatten-binary-tree-to-linked-list/ 实现 如果左子树为空则不需要修改 Read more...
二叉树最大深度 2020-07-08 算法 问题描述 求出二叉搜索树的最大深度,其实可以转换为求最大高度! https://leetcode-cn.com/problems/maximum-depth-of-binary-tree/ 递归实现 很简单 时间复杂度O(n), 因为每个节点只遍历一次! 循环实现 官方答案没看 Read more...