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 · 296 阅读 · 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 · 408 阅读 · 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 · 329 阅读 · 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 · 351 阅读 · 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 · 324 阅读 · 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 · 368 阅读 · 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 · 330 阅读 · 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 · 387 阅读 · 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 · 300 阅读 · 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 · 329 阅读 · 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 · 385 阅读 · 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 · 324 阅读 · 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 · 338 阅读 · 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 · 368 阅读 · 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 · 366 阅读 · 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 · 348 阅读 · 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 · 267 阅读 · 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 · 356 阅读 · 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 · 316 阅读 · 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 · 370 阅读 · 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 · 353 阅读 · 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 · 324 阅读 · 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 · 321 阅读 · 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 · 352 阅读 · 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 · 522 阅读 · 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 · 653 阅读 · 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 · 406 阅读 · 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 · 321 阅读 · 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 · 329 阅读 · 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 · 396 阅读 · 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 · 287 阅读 · 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 · 380 阅读 · 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 · 364 阅读 · 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 · 369 阅读 · 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 · 353 阅读 · 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 · 308 阅读 · 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 · 311 阅读 · 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 · 366 阅读 · 0 评论