摘要: 双指针思想,i为慢指针,指向当前子串开始位置,j为快指针,指向当前判断的字符idx[s[j]]记录字符s[j]上次出现的位置每次迭代记录字符出现位置当字符s[j]上次出现的位置大于当前子串开始位置i时,比较当前子串长度与目前为止所有子串最大长度,取最大,同时将开始位置设为字符s[j]上次出现位置的下 阅读全文
posted @ 2020-04-29 23:04 刘通1997 阅读(156) 评论(0) 推荐(0)
摘要: 1.缺失的第一个正数 要求时间复杂度应为O(n),空间复杂度为常数。 方法一:哈希表(空间复杂度不符合要求)按照刚才我们读例子的思路,其实我们只需从最小的正整数 11 开始,依次判断 22、 33 、44 直到数组的长度 N 是否在数组中。 如果当前考虑的数不在这个数组中,我们就找到了这个缺失的最小 阅读全文
posted @ 2020-04-29 23:02 刘通1997 阅读(203) 评论(0) 推荐(0)
摘要: 二叉树的前序遍历 class Solution { vector<int> a; public: vector<int> inorderTraversal(TreeNode* root) { d(root); return a; } void d(TreeNode* x) { if(x==NULL) 阅读全文
posted @ 2020-04-29 21:43 刘通1997 阅读(150) 评论(0) 推荐(0)