
LeetCode之路
czpcalm
宁静致远,潜心学习。学习注重知其然,更知其所以然。分享谨记授人以鱼不如授人以渔。欢迎关注。
展开
-
【LeetCode之路】用迭代实现N叉树的遍历(Java)
一、前言。整理了一下N叉树的遍历算法。当然,递归算法简单易懂,是树遍历的首选。但是,试着用迭代去实现,是一种思维的开拓。也学到了栈和队列的一些应用。这里用LeetCode上的题目作为例子,用Java实现。语言和遍历内容不是重点,可以根据需要灵活变化,重要的是其中的一些整体思路和条件判断。简单起见:树的节点实现如下,class Node { public int val;...原创 2019-10-16 21:45:52 · 622 阅读 · 0 评论 -
【LeetCode之路】滑动窗口解最长不重复子串长度
一、问题二、我的解法1.思路:减而治之。长度为n的字符串s,它的左边n-1个字符构成的字符串记为s1。s的最长不重复子串由下面两个字符串的最长者:(1)s1的最长子串(不一定在尾部);(2)s1的尾部不重复子串与s的最右字符组成的字符串。2.代码:class Solution { public int lengthOfLongestSubstring(String...原创 2019-10-06 11:19:30 · 354 阅读 · 0 评论 -
【LeetCode之路】4. 两个有序数组的中位数
一、题目二、解法1.思路:由中位数的特点入手:将一个数组分为元素数量相等的left和right两个数组并且max(left)<=min(right)。这里输入是两个数组,设为A和B, 大小为m和n。 假设中位数为x,且x将A和B分别在下标 i 和 j 处划分,得到: left | ...原创 2019-10-07 22:42:47 · 160 阅读 · 0 评论