LeetCode
linxingqianglai
这个作者很懒,什么都没留下…
展开
-
Add Two Numbers
对于链表的结点要进行空指针判断,否则会出很多问题的原创 2015-11-03 22:37:37 · 266 阅读 · 0 评论 -
permutations l
class Solution {public: vector> permute(vector& nums) { vector> ret; sort(nums.begin(),nums.end()); int size=nums.size(); if(size==0) return ret; if(size==原创 2015-11-28 16:19:48 · 559 阅读 · 0 评论 -
jump-game
class Solution {public: bool canJump(vector& nums) { int size=nums.size(); for(int i=0;i<size;){ if(nums[i]+i>=size-1) return true; if(nums[i]原创 2015-11-28 23:58:34 · 276 阅读 · 0 评论 -
Trapping Rain Water
此题是从两边往中间靠拢,这题的思路是这样子的:假如左端的高度比右端高,那么左端作为第一个高度,右端作为第二高度,从右端开始往左端扫描,只要碰到比第二高度低的点就加水柱的高度,如果碰到高的点,那么将这个点作为第一个高,原来的左端的高点作为第二高度点(这是必须第二高,否则不然将这个作为第一高度的点了),此时点从左端开始扫描到右端,相应加水柱,一次类推。class Solution {public:原创 2015-11-20 18:39:16 · 301 阅读 · 0 评论 -
Combination Sum II
此题回朔,注意加入前避免重复class Solution {public: vector> ret;public: vector> combinationSum2(vector& can, int target) { if(can.size()<1) return ret; sort(can.begin(),can.end());原创 2015-11-19 16:19:01 · 187 阅读 · 0 评论 -
LeetCode Reverse Integer
#includeint reverse(int x) { if(x>0&&x>INT_MAX)return 0; if(xINT_MAX) return 0; long res = 0; while(x) { res = res*10 + x%10; x /= 10; } if(res>0&&res>INT_MAX)return 0; if(resINT_MAX) return 0; return原创 2015-11-01 23:42:06 · 239 阅读 · 0 评论 -
roman-to-integer
这道题的关键是前面的字符所代表的数字大小都是比后一个字符代表的数字大小都要来的大,如果是相反,那么就要把当前的值减去两倍的前一个字符所代表的数字大小作为作为这次索引所获得 的结果值class Solution {public: int romanToInt(string s) { if(s.length()<1) return 0; int pre=-1原创 2015-11-12 13:22:47 · 285 阅读 · 0 评论 -
Longest Common Prefix
class Solution {public: string longestCommonPrefix(vector& strs) { if(strs.size()==0) return ""; if(strs.size()==1) return strs[0]; string temp; int strs_siz原创 2015-11-12 15:21:31 · 258 阅读 · 0 评论 -
ZigZag Conversion
这道题得到两个经验教训:第一 在Leetcode中,调试输出不能再控制台输出太多,否则会报Output Limit Exceeded。第二个:返回值如果是指针数组那么久不要用局部指针数组作为返回值,不然会报错。char* convert(char* s, int n) { int len=strlen(s); char temp[len]; int i; int i原创 2015-11-07 00:13:02 · 318 阅读 · 0 评论 -
Longest Palindromic Substring
char* longestPalindrome(char* s) { int i; char temp[2000]; int n=strlen(s); temp[0]='$'; temp[1]='#'; for(i=0;i<n;i++){ temp[2*i+2]=s[i]; temp[2*i+3]='#'; }原创 2015-11-07 00:14:30 · 271 阅读 · 0 评论 -
median-of-two-sorted-arrays
此题还是没有改掉自己代码胡乱的毛病啊,debug了很久才找到了原因。double findMedianSortedArrays(int* nums1, int nums1Size, int* nums2, int nums2Size) { int flag=0; double res=0; int sum=nums1Size+nums2Size; if(sum%2=原创 2015-11-04 22:30:31 · 433 阅读 · 0 评论 -
LeetCode
第一次做LeetCode的题,第一题当然是相当于hello world的题目,第一题two_sum的题目要求不高,但是按照提示要往map方向靠拢。class Solution {public:vector twoSum(vector &numbers, int target) { vector res; map mapping;原创 2015-11-03 20:22:32 · 302 阅读 · 0 评论 -
spiral-matrix
class Solution {public: vector spiralOrder(vector>& matrix) { int min=INT_MIN; int n=matrix.size(); vector ret; if(n==0) return ret; int m=matrix[0].size()原创 2015-11-28 23:38:20 · 364 阅读 · 0 评论