
leetcode
真水壶
这个作者很懒,什么都没留下…
展开
-
Remove Nth Node From End of List
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode *re原创 2014-02-20 20:25:17 · 487 阅读 · 0 评论 -
Swap Nodes in Pairs
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode *sw原创 2014-02-20 20:44:09 · 494 阅读 · 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原创 2014-02-17 13:16:55 · 453 阅读 · 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原创 2014-02-17 13:20:37 · 414 阅读 · 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原创 2014-02-16 16:55:26 · 456 阅读 · 0 评论 -
Binary Tree Preorder Traversal
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Soluti原创 2014-02-17 10:31:29 · 403 阅读 · 0 评论 -
Binary Tree 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原创 2014-02-17 10:40:08 · 395 阅读 · 0 评论 -
Binary Tree Postorder Traversal
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Soluti原创 2014-02-17 11:09:23 · 470 阅读 · 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原创 2014-02-17 18:33:12 · 419 阅读 · 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原创 2014-02-17 19:25:30 · 471 阅读 · 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原创 2014-02-17 15:21:06 · 469 阅读 · 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原创 2014-02-17 21:02:45 · 451 阅读 · 0 评论 -
Populating Next Right Pointers in Each Node
/** * Definition for binary tree with next pointer. * struct TreeLinkNode { * int val; * TreeLinkNode *left, *right, *next; * TreeLinkNode(int x) : val(x), left(NULL), right(NULL), next(NULL)原创 2014-02-18 10:50:13 · 409 阅读 · 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原创 2014-02-18 16:25:59 · 371 阅读 · 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原创 2014-02-18 16:28:41 · 407 阅读 · 0 评论 -
Populating Next Right Pointers in Each Node II
/** * Definition for binary tree with next pointer. * struct TreeLinkNode { * int val; * TreeLinkNode *left, *right, *next; * TreeLinkNode(int x) : val(x), left(NULL), right(NULL), next(NULL)原创 2014-02-18 13:31:11 · 389 阅读 · 0 评论 -
Sum Root to Leaf Numbers
class Solution {public://遍历啊遍历 int sumNumbers(TreeNode *root) { int sum=0; if(!root) return 0; //postorder traversal vector v; TreeNode *pNode=root;原创 2014-02-18 21:20:23 · 429 阅读 · 0 评论 -
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原创 2014-02-18 17:42:19 · 394 阅读 · 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原创 2014-02-18 18:38:43 · 390 阅读 · 0 评论 -
Evaluate Reverse Polish Notation
class Solution {public: int evalRPN(vector &tokens) { if(tokens.empty()) return 0; stack s; for(size_t i=0;i!=tokens.size();i++) { if(tokens[i]!="+" && tokens[i]原创 2014-02-19 10:49:47 · 411 阅读 · 0 评论 -
Merge Sorted Array
class Solution {public: void merge(int A[], int m, int B[], int n) { int aIndex=0,bIndex=0,aSize=m; while(bIndex<n && aIndex<aSize) { if(A[aIndex]<=B[bIndex])原创 2014-03-02 22:17:15 · 432 阅读 · 0 评论 -
Partition List
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode *pa原创 2014-02-19 18:48:57 · 387 阅读 · 0 评论 -
Remove Duplicates from Sorted List
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode *de原创 2014-02-19 20:06:35 · 489 阅读 · 0 评论 -
Remove Duplicates from Sorted List II
class Solution {public: ListNode *deleteDuplicates(ListNode *head) { if(!head) return 0; ListNode dummy(-1); dummy.next=head; //clear clear clear ListNode *pNode=head,*pre=&dummy;原创 2014-02-19 21:27:24 · 552 阅读 · 0 评论 -
Merge k Sorted Lists
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode *me原创 2014-03-03 12:29:18 · 439 阅读 · 0 评论 -
Sort List
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode *so原创 2014-03-03 13:08:18 · 468 阅读 · 0 评论 -
Search Insert Position
class Solution {public: int searchInsert(int A[], int n, int target) { if(target<=A[0]) return 0; if(target>A[n-1]) return n; if(target==A[n-1]) return n-1; /原创 2014-03-03 20:45:27 · 395 阅读 · 0 评论 -
Search a 2D Matrix
class Solution {public: bool searchMatrix(vector > &matrix, int target) { if(matrix.empty()) return false; const size_t row=matrix.size(); const size_t column=matrix.fron原创 2014-03-03 22:06:55 · 377 阅读 · 0 评论 -
Merge Two Sorted Lists
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode *me原创 2014-03-03 12:13:49 · 445 阅读 · 0 评论 -
Rotate List
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode *ro原创 2014-02-20 13:09:46 · 467 阅读 · 0 评论 -
First Missing Positive
class Solution {public: int firstMissingPositive(int A[], int n) { for(size_t i=0;i!=n;) { if(A[i]!=(i+1) && A[i]>=1 &&A[i]<=n &&A[A[i]-1]!=A[i] ) {原创 2014-03-03 16:20:27 · 379 阅读 · 0 评论 -
Sort Colors
class Solution {public: void sortColors(int A[], int n) { int red(0),blue(n-1); for(int i=0;i<blue+1;) { if(A[i]==1) { i++;原创 2014-03-03 19:23:46 · 395 阅读 · 0 评论 -
Search for a Range
class Solution {public: vector searchRange(int A[], int n, int target) { vector ret; int left=0,right=n-1,mid=0; //二分查找 while(left<=right) { mi原创 2014-03-03 20:19:07 · 436 阅读 · 0 评论 -
Search in Rotated Sorted Array
class Solution {public: int search(int A[], int n, int target) { int left=0,right=n-1; while(left<=right) { int mid=left+(right-left)/2; if(A[mid]=原创 2014-03-04 16:50:22 · 394 阅读 · 0 评论 -
Remove Element
class Solution {public: int removeElement(int A[], int n, int elem) { int index=0; for(int i=0;i!=n;i++) { if(A[i]!=elem) { A[index原创 2014-03-04 16:09:14 · 579 阅读 · 0 评论 -
Search in Rotated Sorted Array II
class Solution {public: bool search(int A[], int n, int target) { int left=0,right=n-1; while(left<=right) { int mid=left+(right-left)/2; if(A[mid]原创 2014-03-04 17:04:03 · 384 阅读 · 0 评论 -
Climbing Stairs
class Solution {public: int climbStairs(int n) { if(n==1) return 1; if(n==2) return 2; int n1=1,n2=2,ret=0; for(int count=3;count<=n;count++) {原创 2014-03-04 16:25:31 · 428 阅读 · 0 评论 -
Single Number II
class Solution {public: int singleNumber(int A[], int n) { const int width=sizeof(int)*8; int count[width]; memset(count,0,width*sizeof(int)); for(int i=0;i!=n;i++原创 2014-03-07 20:05:19 · 407 阅读 · 0 评论 -
Plus One
class Solution {public: vector plusOne(vector &digits) { int last=digits.size()-1; //lowest digit int carry=(1+digits[last])/10; digits[last]=(1+digits[last])%10;原创 2014-03-07 20:53:56 · 474 阅读 · 0 评论 -
Implement strStr()
class Solution {public: char *strStr(char *haystack, char *needle) { if(!haystack || !needle) return NULL; const int hayLen=strlen(haystack); const int neeLen=strlen(ne原创 2014-03-08 11:18:19 · 399 阅读 · 0 评论