LeetCode
文章平均质量分 67
micx0124
hello world
展开
-
Path Sum
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Soluti原创 2013-07-10 14:09:36 · 299 阅读 · 0 评论 -
Best Time to Buy and Sell Stock III
class Solution {public: int maxProfit(vector &prices) { // Start typing your C/C++ solution below // DO NOT write int main() function int len=prices.size(); if(len原创 2013-07-06 15:43:45 · 411 阅读 · 0 评论 -
Best Time to Buy and Sell Stock II
class Solution {public: int maxProfit(vector &prices) { // Start typing your C/C++ solution below // DO NOT write int main() function int len=prices.size(),i,j=0,k,ans=0;原创 2013-07-03 21:36:37 · 331 阅读 · 0 评论 -
Path Sum II
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Soluti原创 2013-07-10 14:35:11 · 356 阅读 · 0 评论 -
Pascal's Triangle II
class Solution {public: vector getRow(int rowIndex) { int k = rowIndex+1; vector result(k,0); result[0] = 1; int temp; for(int i=2;i<=k;++i){原创 2013-07-06 16:28:29 · 327 阅读 · 0 评论 -
Pascal's Triangle
class Solution {public: vector > generate(int numRows) { // Start typing your C/C++ solution below // DO NOT write int main() function vector> ans; vector vec1,vec原创 2013-07-06 15:59:19 · 371 阅读 · 0 评论 -
Binary Tree Maximum Path Sum
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Soluti原创 2013-07-03 21:07:57 · 335 阅读 · 0 评论 -
Add Two Numbers
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode *ad原创 2013-06-26 15:27:15 · 393 阅读 · 0 评论 -
Longest Palindromic Substring
class Solution { int solve(vector &s , int &ans) { int *p = new int[s.size()]; int n=s.size(); int mx=0,id,rst=1; for(int i=0;i<n;++i) { if(原创 2013-06-26 19:24:39 · 302 阅读 · 0 评论 -
Flatten Binary Tree to Linked List
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Soluti原创 2013-07-10 16:55:38 · 332 阅读 · 0 评论 -
Longest Consecutive Sequence
class Solution {public: int longestConsecutive(vector &num) { // Start typing your C/C++ solution below // DO NOT write int main() function unordered_map m; int i,原创 2013-07-02 20:00:51 · 389 阅读 · 0 评论 -
Palindrome Partitioning II
class Solution {public: int minCut(string s) { // Start typing your C/C++ solution below // DO NOT write int main() function int len=s.length(); bool b[len][len];原创 2013-06-28 13:50:43 · 325 阅读 · 0 评论 -
Restore IP Addresses
class Solution { int str2int(string str){ int len=str.length(),i,n=0; for(i=0;i<len;++i){ n=n*10+str[i]-'0'; } if(n==0&&len>1|原创 2013-07-10 19:05:51 · 340 阅读 · 0 评论 -
Palindrome Partitioning
class Solution { bool isPalindrome(string &s,int i,int j){ while(i<j){ if(s[i]!=s[j]) return false; ++i,--j; } return t原创 2013-06-28 12:13:27 · 370 阅读 · 0 评论 -
Median of Two Sorted Arrays
There are two sorted arrays A and B of size m and n respectively. Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)). class Solution {public: i原创 2013-06-26 09:28:06 · 368 阅读 · 0 评论 -
Reverse Linked List II
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode *re原创 2013-07-12 13:57:03 · 300 阅读 · 0 评论 -
Subsets II
class Solution { void DFS(vector &S,vector> &ans,vector &vec,int start){ int i,len=S.size(); ans.push_back(vec); if(len==start){ return; }原创 2013-07-12 20:54:04 · 349 阅读 · 0 评论 -
Surrounded Regions
class Solution { bool search(vector > &g,int i,int j,int h,int w, vector > &v){ queue > q; pair pr; q.push(make_pair(i,j)); bool ret=true; while(!q.em原创 2013-07-13 16:08:37 · 274 阅读 · 0 评论 -
Populating Next Right Pointers in Each Node II
Follow up for problem "Populating Next Right Pointers in Each Node".What if the given tree could be any binary tree? Would your previous solution still work?Note:You may only use constant ex原创 2013-07-14 18:52:01 · 358 阅读 · 0 评论 -
Minimum Depth of Binary Tree
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Soluti原创 2013-07-15 11:30:11 · 318 阅读 · 0 评论 -
Distinct Subsequences
f(i, j) = f(i-1, j) + (S[i] == T[j]) * f(i-1, j-1). class Solution {public: int numDistinct(string S, string T) { // Start typing your C/C++ solution below // DO NOT write int原创 2013-07-14 20:31:54 · 372 阅读 · 0 评论 -
Balanced Binary Tree
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Soluti原创 2013-07-15 12:41:01 · 356 阅读 · 0 评论 -
Convert Sorted List to Binary Search Tree
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; *//** * Definition for binary tree * stru原创 2013-07-15 17:51:43 · 325 阅读 · 0 评论 -
Convert Sorted Array to Binary Search Tree
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Soluti原创 2013-07-15 17:55:44 · 323 阅读 · 0 评论 -
Binary Tree Level Order Traversal II
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Soluti原创 2013-07-15 18:07:37 · 355 阅读 · 0 评论 -
Construct Binary Tree from Inorder and Postorder Traversa
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Soluti原创 2013-07-16 13:17:38 · 525 阅读 · 0 评论 -
Construct Binary Tree from Preorder and Inorder Traversal
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Soluti原创 2013-07-16 14:01:15 · 655 阅读 · 0 评论 -
Binary Tree Level Order Traversal
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Soluti原创 2013-07-15 18:09:41 · 408 阅读 · 0 评论 -
Maximum Depth of Binary Tree
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Soluti原创 2013-07-16 19:30:53 · 324 阅读 · 0 评论 -
Binary Tree Zigzag Level Order Traversal
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Soluti原创 2013-07-16 20:01:36 · 330 阅读 · 0 评论 -
Symmetric Tree
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Soluti原创 2013-07-16 20:54:56 · 399 阅读 · 0 评论 -
Same Tree
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Soluti原创 2013-07-16 21:02:42 · 290 阅读 · 0 评论 -
Recover Binary Search Tree
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Soluti原创 2013-07-17 12:51:09 · 382 阅读 · 0 评论 -
Validate Binary Search Tree
1.中序遍历二叉查找树2.检测序列是否单调递增 /** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), r原创 2013-07-17 13:09:25 · 366 阅读 · 0 评论 -
Interleaving String
class Solution {public: bool isInterleave(string s1, string s2, string s3) { // Start typing your C/C++ solution below // DO NOT write int main() function queue>原创 2013-07-17 14:27:11 · 372 阅读 · 0 评论 -
Unique Binary Search Trees II
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */cla原创 2013-07-17 21:21:53 · 357 阅读 · 0 评论 -
Binary Tree Inorder Traversa
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Soluti原创 2013-07-17 22:25:14 · 357 阅读 · 0 评论 -
Unique Binary Search Trees
考虑根节点i可组成的BST的数量,小于i的(i-1)个数可以组成N颗BST,大于i的(n-i)个数可以组成M颗BST,因此以i为根节点的BST共有M*N颗。 class Solution { public: int numTrees(int n) { // Start typing your C/C++ solution below /原创 2013-07-17 22:17:04 · 310 阅读 · 0 评论 -
Decode Ways
class Solution {public: int numDecodings(string s) { // Start typing your C/C++ solution below // DO NOT write int main() function int len=s.length(),i; vector f(l原创 2013-07-18 11:16:01 · 316 阅读 · 0 评论 -
Gray Code
class Solution { void DFS(int c,int n,vector &ans,vector &vec,vector &v){ v[c]=true; for(int i=0;i<n;++i){ if((c&vec[i])==0&&c+vec[i]<vec[n]&&!v[c+vec[i]]){原创 2013-07-18 15:49:42 · 369 阅读 · 0 评论