substring类型题目的解题模板】的更多相关文章

https://discuss.leetcode.com/topic/30941/here-is-a-10-line-template-that-can-solve-most-substring-problems 总结的还是不错的: int findSubstring(string s){ vector<,); int counter; // check whether the substring is valid , end=; //two pointers, one point to tai…
1.从函数模板谈起 函数模板的类型推导机制是在c++98时代就有的,auto的类型推导机制与其基本一致,所以先理解函数模板类型推导. 函数模板可以用如下代码框架表示: #template<typename T> void f(PT param); f(expr); PT与T的不同之处在于PT相对于T可能有一些饰词(adornments),如const 和引用&. 对于模板类型T的推导是PT和expr共同作用的结果.下面分几种情况讨论类型推导的原则: 1)PT是一般的引用或指针 原则:…
最基础的方式要做到非常熟练,要熟练到不思考就能写,但又需明白各处的要求和陷阱 合并两个有序链表的操作,在前面加上一个初始节点,注意while循环和退出时的处理,理解如何处理其中一个链表遍历完的情况 ListNode* merge(ListNode* l1, ListNode* l2) { //采用前面加一个空闲节点的方式来简化代码 ListNode temp(-); ListNode* result = &temp; while (l1 != NULL && l2 != NULL)…
2. Add Two Numbers https://leetcode.com/problems/add-two-numbers/description/ class Solution { public: ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) { ListNode result(-); ListNode* current = &result; ; while(l1!=NULL || l2!=NULL){ ; ; if(l1!=NU…
LeetCode 第3题3 Longest Substring Without Repeating Characters 首先我们看题目要求: Given a string, find the length of the longest substring without repeating characters. For example, the longest substring without repeating letters for "abcabcbb" is "a…
Sum类的题目一般这样: input: nums[], target output: satisfied arrays/ lists/ number 拿到题目,首先分析: 1. 是几个数的sum 2. sum是要求等于target还是小于还是大于还是closest 3. 返回的是原数组下标还是其他 对于这类题目,我们经常用双指针的方法.即排序后,左指针指向起点,右指针指向终点. 如果sum等于target,加入结果/总数目+1 如果sum大于target,右指针左移 如果sum小于target,…
一.模板以及题目分类 1.头尾指针向中间逼近 ; ; while (pos1<pos2) { //判断条件 //pos更改条件 if (nums[pos1]<nums[pos2]) pos1++; else pos2--; } 经典的找和的问题都可以从这种思路下手,2数之和,3数之和,还注意要区分是寻找值还是索引(寻找索引则不能排序),是否允许有重复,不允许重复时要怎样避开重复值. 避开重复值的方法,当然,在3sum和4sum中的ij要稍微做修改 && nums[i] == n…
一.通用方法以及题目分类 0.遍历链表 方法代码如下,head可以为空: ListNode* p = head; while(p!=NULL) p = p->next; 可以在这个代码上进行修改,比如要计算链表的长度: ListNode* p = head; ; while(p!=NULL){ num++; p = p->next; } 如果要找到最后的节点,可以更改while循环中的条件,只不过需要加上head为NULL时的判断 if(!head) return head; ListNode…
Sum类的题目一般这样: input: nums[], target output: satisfied arrays/ lists/ number 拿到题目,首先分析: 1. 是几个数的sum 2. sum是要求等于target还是小于还是大于还是closest 3. 返回的是原数组下标还是其他 对于这类题目,我们经常用双指针的方法.即排序后,左指针指向起点,右指针指向终点. 如果sum等于target,加入结果/总数目+1 如果sum大于target,右指针左移 如果sum小于target,…
Given a string, find the length of the longest substring without repeating characters. For example, the longest substring without repeating letters for "abcabcbb" is "abc", which the length is 3. For "bbbbb" the longest subst…