Leetcode
yangxinlin2333
这个作者很懒,什么都没留下…
展开
-
Leetcode 771.Jewels and Stones
思路:首先判断是否为空值;其次对于J字符串中的每个值在S中进行遍历查找相等值; 代码: class Solution { public: int numJewelsInStones(string J, string S) { int count =0; if(J.empty()||S.empty()){ count =0; ...原创 2019-03-25 14:16:12 · 125 阅读 · 0 评论 -
590 n-ary-tree-postorder-traversal
思路:后序遍历,先遍历根节点的子节点(从左至右),children[i],可以考虑利用stack的特性,先进后出,或者是数组,数组最后在reverse逆置即可 1、判断根节点是否为空 2、将根节点push_back到数组result中,然后再将子节点存放到result中 3、逆置result数组,便是先序 (递归版) class Solution { public: vecto...原创 2019-04-23 16:06:59 · 210 阅读 · 0 评论 -
944 delete-columns to make sorted
思路:找出A数组中deletion array,使得剩余A中string的每个位置对应的元素为非降序集。 1、如果A.size()=0,output=0; 2、其次由于A中每个string的长度是相同的,只要得到A[0].length()即可知道每个string的长度 该问题最核心的是找到deletion array,试着反过来想其实就是找到数组中不满足非降序要求的集合,那么这里给出判断a[...原创 2019-04-23 10:40:04 · 108 阅读 · 0 评论 -
852 Peak index in a Mountain Array
思路:二分查找 class Solution { public: int peakIndexInMountainArray(vector<int>& A) { int low =0; int high = A.size()-1; while(low<=high){ int middle = (...原创 2019-04-16 14:09:19 · 148 阅读 · 0 评论 -
Leetcode 617 Merge Two Binary Tree
分析: 1、如果tree1 == null ,那么则为tree2 2、如果tree2==null,那么则为tree1 3、如果tree1&&tree2 均不为空, 那么 利用利用递归: TreeNode t = new treeNode(t1->val+t2->val) ; ...原创 2019-04-02 15:00:27 · 88 阅读 · 0 评论 -
Leetcode 461 Hamming Distance
思路:使用异或的思想去解决此问题很是简单,在此之前我尝试用了栈去解决此问题,但是查阅了之后发现异或从空间,时间复杂度上都有所改善 class Solution { public: int hammingDistance(int x, int y) { int temp =x^y; int dis=0; while(temp){ ...原创 2019-04-02 14:36:48 · 114 阅读 · 0 评论 -
Leetcode 961.N-repeated Element in Size 2N Array
思路:这题的意思有一个长度为2N的数组,有N+1个元素只出现过一次,其中一个元素出现了N次,找出这个元素。我用的是map容器,计数每个元素出现的次数,如果次数出现超过一次,那么就返回他(这里有点投机取巧,因为i其他元素的个数只有一个); 出现的问题:对于c++ STL不是很熟练,连新定义一个map都忘了基本语法规范。 class Solution { public: int repe...原创 2019-03-28 14:52:17 · 105 阅读 · 0 评论 -
Leetcode 977.Squares of a sorted Array
思路: 1、遍历vector[i],对于每个元素进行平方 2、排序 注意点:emmm没有一次提交成功,出的问题是sort函数的使用sort(A.begin(),A.end()) class Solution { public: vector<int> sortedSquares(vector<int>& A) { for(int i...原创 2019-03-28 14:47:03 · 130 阅读 · 0 评论 -
Leetcode 657.Robot Return to Origin
思路:这题思路很清晰,分别计数x轴和y轴上移动步数即可。L:x--;R:x++;U:y++;D:y--;我犯错的点是,判断等于的时候,==“U” 应该为’u‘。其次这个写为switch使得代码可读性更好。 class Solution { public: bool judgeCircle(string moves) { int posX=0; int p...原创 2019-04-01 15:48:29 · 107 阅读 · 0 评论 -
Leetcode 942 DI String Match
思路:一开始想到的是利用排序,对当前i的位置到最后进行升序或者降序,但是这样子很费时间,后来借助其他作者的思路用两个指针,从low和high开始插入。如果当前为I,则插入low的值,low++;如果当前为D,那么插入D,D--; 1、新定义一个数组result,用于插入元素 2、遍历string,S[i]=='I',result.push_back(I),i++;S[i]=='D',resul...原创 2019-04-01 15:43:41 · 143 阅读 · 0 评论 -
Leetcode 929.Unique Code Words
思路: 1、对于Morse 集 定义vector容器来存储(set也可以 ); 2、新建一个容器来存放 加密后的字符串 3、遍历容器words中的每个字符串,对于字符串words[i][j]进行转换,words[i][j]-97orwords[i][j]-'a' 存放入临时字符串temp,再将temp push_back到容器中 4、最后有个点就是去重问题,这里用的是vector 的un...原创 2019-03-26 15:34:08 · 106 阅读 · 0 评论 -
Leetcode 929.Unique Email Addresses
思路: 1、先找到‘@’标识符。email[i][j]=='@' 2、寻找“."标识符,email[i][j]=="." email[i].erase(email[i].begin()+j); 3、寻找"+"标识符,email[i][j]=="+" 注意这里是找第一个'+' 之后的不用管,所以这里可以加个标签flag(初始化flag=false),一旦找到第一个'+'flag=true; ...原创 2019-03-26 14:59:14 · 476 阅读 · 0 评论 -
Leetcode 832. Flipping an Image
思路: 1、新定义一个数组B,存放reverse后的数组 2、遍历数组中每一个元素,进行revert 问题(bug):code中报错,指针指向空的内容,是在reverse时,没有对B初始化赋值,那么此时B就是一个空的数组,无法定位到B[I][J],更不能将A的值赋给B,所以出现空指针现象 class Solution { public: vector<vector<i...原创 2019-03-29 15:01:39 · 119 阅读 · 0 评论 -
Leetcode 905 Sort Array By Parity
思路: 1、定义两个临时数组分别存放奇数、偶数 2、对两个数组进行排序 3、将临时数组的值插入到一个完整的数组中 这题难度不大, class Solution { public: vector<int> sortArrayByParity(vector<int>& A) { vector<int> temp1; ...原创 2019-03-29 14:28:22 · 105 阅读 · 0 评论 -
Leetcode 709.To Lower Case
大写转小写:str[i]+=32;小写转大写:str[i]-=32; c++标准库中还提供了 transform 来实现大小写的转换 //小写转大写 String str="aaaaAA"; transform(str.begin(),str.end(),str.begin(),::toupper); //大写转小写 transform(str.begin(),str.end(),str.b...原创 2019-03-25 14:33:27 · 135 阅读 · 0 评论 -
1021.removeOutermost-parentheses
分析:去除最外一层的括弧; 首先从最简单的开始分析(),对于这样单一的括弧,去除最外层,就是把字符串最开始的最后的元素去除即可;在复杂一点()(),那么分开看成两个()+(),用一个temp字符串临时存放前面一个,当遍历到),即形成一个完整的括弧,那么删去它的最外层括弧,然后将临时的字符串temp清空继续遍历下一个完整的括弧;再继续(())(),对于前一部分 ,首先我们要找到(()),这里可以利...原创 2019-05-06 22:56:49 · 201 阅读 · 0 评论