
双指针
iblue_coffee
一个又菜还不承认自己菜的追梦人。
展开
-
LeetCode第160题解析
编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表:在节点 c1 开始相交。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8输入解释:相交节点的值为 8 (注意,如果两个链表相交则不能为 0)。从各自的表头开始算起,链表 A 为 [4,1,8,4,5],链表.原创 2020-09-28 16:12:34 · 528 阅读 · 0 评论 -
LeetCode第125题解析
给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: "A man, a plan, a canal: Panama"输出: true示例 2:输入: "race a car"输出: falseislower(char c) 是否为小写字母 isupper(char c) 是否为大写字母 isdigit(char c) 是否为数字 isalpha(char c) 是否为字母 isal原创 2020-06-30 11:09:17 · 319 阅读 · 1 评论 -
LeetCode第283题解析
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。class Solution {public: void moveZeroes(vector<int>& nums) { int j = 0; //慢指针,指向非零元素移动的位置 //快指针,寻原创 2020-07-02 17:18:58 · 122 阅读 · 0 评论 -
LeetCode第11题解析
给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点(i,ai) 。在坐标内画 n 条垂直线,垂直线 i的两个端点分别为(i,ai) 和 (i, 0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且n的值至少为 2。示例:输入:[1,8,6,2,5,4,8,3,7]输出:49双指针法:class Solution {public: int maxArea(vector<int>&a...原创 2020-07-02 19:43:40 · 459 阅读 · 0 评论 -
LeetCode第15题解析
给你一个包含 n 个整数的数组nums,判断nums中是否存在三个元素 a,b,c ,使得a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例:给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]王德福,写一遍暴力求解。双指针。...原创 2020-07-08 08:23:07 · 240 阅读 · 0 评论 -
LeetCode第42题解析
给定n个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。感谢 Marcos 贡献此图。示例:输入: [0,1,0,2,1,0,1,3,2,1,2,1]输出: 6解法一:递减栈,栈中存放的是编号。class Solution {public: int trap(vector<int&...原创 2020-07-21 08:25:47 · 728 阅读 · 0 评论