文卿周槐芳
文卿周槐芳
全部文章
分类
题解(6)
归档
标签
去牛客网
登录
/
注册
文卿周槐芳的博客
全部文章
(共6篇)
二叉树右视图
搞了半天,写个题解。 本题总体可拆分为两部分:① 根据先序、中序遍历重构二叉树② 层序遍历二叉树输出每层最右侧元素 逐个分析下。一、重构 先序确定根节点,中序确定左右子树; 左右子树又可以继续拆分,继续确定子树的根节点及左右子;上代码: public TreeNode reBuild (int[...
二叉树,bfs,递归
2020-11-03
0
1191
两数之和
写个题解。原思路: 首先想到能不能排序。若是有序数组,将会节省不小的时间开销(target/2往后的不用看;每轮一旦两数和大于 target 即可 break)。 再看题目要求输出 index,若先排序 index 就乱了,貌似没戏。 还不死心,想能不能通过 Map 来存取改动前的 index。 ...
数组,hash
2020-11-03
68
4048
链表公共节点
有意思,记录一下。 双指针,走到头之后从另一条的起点继续走,若公共节点存在,最终将在公共节点相遇。以上思路不难想到。坑点在于,一开始用的是 当前结点.next 进行判空,提示复杂度超。随手去掉 .next 后通过了,百思不得姐。看到题解评论恍然大悟,具体原因注在代码中。 public ListNod...
2020-11-02
3
893
归并有序数组
照例记录下思路。 依然双指针,要求归并至 A 数组,考虑逆向归并,比较 A、B 尾部元素,大的从 A 数组索引 (A.length + B.length - 1) 开始逆向放置。最后刚好排满。 public void merge(int A[], int m, int B[], int n) { ...
2020-11-02
23
1715
最长无重复字串
记录下思路。首先想到双指针,始终保证左右指针之间元素无重复。1.为了判断重复,用 Map 保存区间内元素的(元素值,索引)。2.若右指针行至某一元素发现其已在区间内存在,则记录此时区间长度并更新最长字串长度。3.更新区间及区间内元素:Map中去除左指针至重复元素索引位置这一段的元素键值对;并把左指针...
2020-11-02
2
857
最近公共祖先问题
写个题解记录下。 思路: 搜索两节点,并记录由搜索节点至根节点的节点路由表; 顺序遍历一路由表,首先出现在另一表中的节点即为最近公共祖先; public int lowestCommonAncestor (TreeNode root, int o1, int o2) { ...
2020-10-30
3
966