#Etc

leetcode 108. Convert Sorted Array to Binary Search Tree 、109. Convert Sorted List to Binary Search Tree

108.ConvertSortedArraytoBinarySearchTree这个题使用二分查找,主要要注意边界条件。如果left>right,就返回NULL。每次更新的时候是mid-1,mid+1。自己推一下基本就可以验证了。classSolution{public:TreeNode*sortedArrayT...

leetcode 206. Reverse Linked List(剑指offer16)、92. Reverse Linked List II

无论是1,还是2,删除链表都需要3个节点,只是现在这种最新写法只把cur作为了判断循环的依据,并且下一个节点的生成放在循环内。 206.ReverseLinkedList之前在牛客上的写法:错误代码:classSolution{public:ListNode*ReverseList(ListNode*pHea...

leetcode 54. Spiral Matrix 、59. Spiral Matrix II

54题是把二维数组安卓螺旋的顺序进行打印,59题是把1到n平方的数字按照螺旋的顺序进行放置  54.SpiralMatrixstart表示的是每次一圈的开始,每次开始其实就是从(0,0)、(1,1)这种开始的。用endx、endy来表示每次转圈的x、y方向的终止位置,方便后面进行边界条件设置。注意:...
代码星球 代码星球·2020-10-13

leetcode 48. Rotate Image

48. RotateImage1.这个题是顺时针旋转90度,方法是:先以右对角线为轴对称交换,然后以中间行为轴进行交换2.逆时针旋转90度是以左对角线为轴对称交换,然后以中间行为轴进行交换3.旋转180度,直接以最中间那个数为对称点进行交换以对称轴做交换,第一个数组的i和第二个数组的j对应位置,第一个数组的j...
代码星球 代码星球·2020-10-13

leetcode 263. Ugly Number 、264. Ugly Number II 、313. Super Ugly Number 、204. Count Primes

263.UglyNumber 注意:1.小于等于0都不属于丑数   2.while循环的判断不是num>=0,而是能被2、3、5整除,即能被整除才去除这些数classSolution{public:boolisUgly(intnum){if(num<=0)returnfalse;while(num...

leetcode 58. Length of Last Word

找最后一个word的长度。从后往前计算,找到第一个不是空的位置,然后从这个位置再继续找第一个为空的位置classSolution{public:intlengthOfLastWord(strings){intright=s.size()-1;while(right>=0){if(s[right]=='')righ...

leetcode 378. Kth Smallest Element in a Sorted Matrix

这道题求有序矩阵中第K小的元素,数组如下:二分的方法解决,时间复杂度: O(nlgX)。从左下角进行遍历classSolution{public:intkthSmallest(vector<vector<int>>&matrix,intk){intleft=matrix[0][...

leetcode 224. Basic Calculator 、227. Basic Calculator II

这种题都要设置一个符号位的变量224.BasicCalculator设置数值和符号两个变量,遇到左括号将数值和符号加进栈中 classSolution{public:intcalculate(strings){stack<int>st;intres=0,flag=1;for(inti=0;i<...

leetcode 169. Majority Element 、229. Majority Element II

169.MajorityElement求超过数组个数一半的数可以使用hash解决,时间复杂度为O(n),但空间复杂度也为O(n)classSolution{public:intmajorityElement(vector<int>&nums){unordered_map<int,int>...

leetcode 136. Single Number 、 137. Single Number II 、 260. Single Number III(剑指offer40 数组中只出现一次的数字)

136.SingleNumber除了一个数字,其他数字都出现了两遍。用异或解决,亦或的特点:1.相同的数结果为0,不同的数结果为1            2.与自己亦或为0,与0亦或为原来的数classSolution{public:intsingleNumber(vector<int>&nums)...

leetcode 155. Min Stack 、232. Implement Queue using Stacks 、225. Implement Stack using Queues

155.MinStackclassMinStack{public:/**initializeyourdatastructurehere.*/MinStack(){}voidpush(intx){if(s1.empty()&&s2.empty()){s1.push(x);s2.push(x);}else{...

leetcode 557. Reverse Words in a String III 、151. Reverse Words in a String

557.ReverseWordsinaStringIII最简单的把空白之间的词反转classSolution{public:stringreverseWords(strings){vector<int>blank;for(inti=0;i<s.size();i++){if(s[i]=='')blank...

leetcode 344. Reverse String 、541. Reverse String II 、796. Rotate String

344.ReverseString最基础的旋转字符串classSolution{public:voidreverseString(vector<char>&s){if(s.empty())return;intstart=0;intend=s.size()-1;while(start<end){...

leetcode 162. Find Peak Element

162.FindPeakElement前面递增,后面递减,一定有波峰二分法加快搜索的速度classSolution{public:intfindPeakElement(vector<int>&nums){intstart=0;intend=nums.size()-1;intmid;while(sta...

leetcode 88. Merge Sorted Array

合并到一个新的数组,直接比较就好了,这个题目是将nums1、nums2合并到nums1,nums1有许多多余的空间如果按照合并到一个新的数组从小比到大的方式进行比较,就需要每次挪动nums1的数组。本题可以采用从大到小的比较方式,这样就不用每次挪动数组。同时注意,m和n都是可以为0的,nums1不能为空,但nums2可...
代码星球 代码星球·2020-10-13
首页上一页...2829303132...下一页尾页