LeetCode
扶云啊
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LeetCode之maxProfit
int maxProfit_T(vector &prices) //Best Time to Buy and Sell Stock { if(prices.size()<2) return 0; int profit=0; int cur_min=prices[0]; for (int i=0;i<prices.size();i++) { profit=max(pric原创 2014-03-28 22:31:47 · 818 阅读 · 0 评论 -
LeetCode之inorderTraversal
vector inorderTraversal(TreeNode *root) //Binary Tree inorder Traversal { if (root==NULL) {return t; } inorderTraversal(root->left); t.push_back(root->val); inorderTraversal(root->rig原创 2014-04-04 09:44:45 · 629 阅读 · 0 评论 -
LeetCode之isSameTree
bool isSameTree(TreeNode *p, TreeNode *q) //判断是否是相同二叉树 { if(p==NULL&&NULL==q) return true; if((p!=NULL&&NULL==q)||(p==NULL&&NULL!=q)) return false; if(p->val==q->val) { return isSameTree(p原创 2014-03-24 21:38:36 · 787 阅读 · 0 评论 -
LeetCode之maxDepth
int maxDepth(TreeNode *root) //递归求二叉树最大深度 { if(root==NULL) return 0; int u,v; u=maxDepth(root->left); v=maxDepth(root->right); if(u>v) return (u+1); else return (v+1); }原创 2014-03-25 12:38:57 · 918 阅读 · 0 评论 -
LeetCode之Single Number
int singleNumber(int A[],int n) //成对数中找单个数 { if (n==0) exit(0); if(n==1) return 0; int i=0,j,t; t=A[0]; for(i=1;i<n;i++) { t=A[i]^t; } return t; }原创 2014-03-24 21:37:02 · 522 阅读 · 0 评论 -
LeetCode之levelTraverse
int levelTraverse2(TreeNode* tree)//按层遍历二叉树,递归实现 { if(tree==NULL) return 0; int depth=maxDepth(tree)+1; for(int i=1;i<depth;i++) { lvlTraverse(tree,i); } }原创 2014-04-06 12:24:13 · 572 阅读 · 0 评论 -
LeetCode之levelTraverse
int levelTraverse(TreeNode* tree) //按层遍历二叉树,队列实现 { if(tree==NULL) {return 0;} TreeNode* p; p=tree; queue q; q.push(p); //int level=maxDepth(tree); while (!q.empty()) { p=q.f原创 2014-04-06 12:25:24 · 696 阅读 · 0 评论 -
LeetCode之Remove Duplicates from Sorted List
ListNode *deleteDuplicates(ListNode *head) //Remove Duplicates from Sorted List II { if(head==NULL||head->next==NULL) return head; ListNode* cur=head,*pre; ListNode dummy(INT_MIN); pre=&du原创 2014-04-22 09:40:46 · 847 阅读 · 0 评论 -
LeetCode之Merge Two Sorted Lists
原创 2014-04-22 10:58:12 · 858 阅读 · 0 评论 -
LeetCode之Merge K Sorted Lists
ListNode *mergeKLists(vector &lists) //Merge K Sorted Lists { if(lists.size()==0) return NULL; ListNode* p=lists[0]; for (int i=1;i<lists.size();i++) { p=mergeTwoLists(p,lists[i]); }原创 2014-04-22 11:01:44 · 946 阅读 · 0 评论 -
LeetCode之Merge Sorted Array
void merge(int A[], int m, int B[], int n) //Merge Sorted Array { int i,j; for(i=0,j=0;i<m+j&&j<n;) { if (A[i]<=B[j]) i++; else { insert_num(A,i,m+j,B[j]);i++;j++; } } if(原创 2014-04-09 22:57:56 · 764 阅读 · 0 评论 -
LeetCode之postorderTraversal
vector postorderTraversal(TreeNode *root) //Binary Tree Postorder Traversal { if (root==NULL) {return t; } postorderTraversal(root->left); postorderTraversal(root->right); t.push_bac原创 2014-04-04 09:44:00 · 635 阅读 · 0 评论 -
LeetCode之generateTrees
vector generateTrees(int n) //Unique Binary Search Trees II { if (n == 0) return generate(1, 0); return generate(1, n); }vector generate(int start, int end) { vector subTree; if (start >原创 2014-04-04 09:42:03 · 665 阅读 · 0 评论 -
LeetCode之minDepth
int minDepth(TreeNode *root) //二叉树最小深度 { int l,r; if(root==NULL) return 0; if(root->left==NULL&&root->right==NULL) { return 1; } else if(root->left!=NULL&&root->right!=NULL) { l原创 2014-03-30 18:56:04 · 776 阅读 · 0 评论 -
LeetCode之removeDuplicates
int removeDuplicates(int A[], int n) //Remove Duplicates from Sorted Array { if (n == 0) return 0; int index = 0; for (int i = 1; i < n; i++) { if (A[index] != A[i]) A[++index] = A[i];原创 2014-03-30 18:53:06 · 648 阅读 · 0 评论 -
LeetCode之Remove Duplicates from Sorted Array
int removeDuplicates(int A[], int n) //Remove Duplicates from Sorted Array { if (n == 0) return 0; int index = 0; for (int i = 1; i < n; i++) { if (A[index] != A[i]) A[++index] = A[i];原创 2014-04-14 23:03:25 · 797 阅读 · 0 评论 -
LeetCode之Remove Element
int removeElement(int A[], int n, int elem) //Remove Element { int num=0; for (int i=0;i<n-num;i++) { if (A[i]==elem) { while(i!=n-num-1){ if(A[n-num-1]!=elem) {A[i]=A[n-num-原创 2014-04-14 23:04:41 · 793 阅读 · 0 评论 -
LeetCode之Single Number II
int singleNumber(int A[], int n)//Single Number II { int b; int count[sizeof(int)*8]={}; for(int j=0;j<32;j++) { for (int i=0;i<n;i++) { b=1; b&=(A[i]>>j); count[j]+=b;原创 2014-03-30 18:50:43 · 556 阅读 · 0 评论 -
LeetCode之maxProfitII
解法一:int maxprofit2(vector &prices) //Best Time to Buy and Sell Stock II { //cout<<prices[0]; if (prices.size()==0||prices.size()==1) {return 0; } int i=0,j=0,profit=0; while (prices[i]>原创 2014-03-28 22:35:37 · 804 阅读 · 0 评论 -
LeetCode之reverse
int reverse(int x) //整数取反输出 { int y; if(x==0) return 0; else if(x<0){y=-x;} else y=x; int a[32]={},tmp,i=0; while(y!=0) { tmp=y%10; a[i]=tmp; y/=10;i++; } i--; int _原创 2014-03-28 20:59:32 · 596 阅读 · 0 评论 -
LeetCode之numTrees
int numTrees(int n) //Unique Binary Search Trees { vector f(n+1,0); f[0]=1;f[1]=1; for(int k=2;k<=n;++k) for(int i=1;i<=k;++i) f[k]+=f[i-1]*f[k-i]; return f[n]; }原创 2014-03-30 18:59:49 · 719 阅读 · 0 评论 -
LeetCode之maxDepth非递归解法
int maxDepth_2(TreeNode* root) //非递归求二叉树最大深度 { TreeNode *p,*have_visited; int treeDepth=0; vector v_tree; p=root; have_visited=NULL; while(p||!v_tree.empty()) { if (p) { v_t原创 2014-03-28 20:56:20 · 1042 阅读 · 0 评论 -
LeetCode之preorderTraversal
vector preorderTraversal(TreeNode *root) //Binary Tree Preorder Traversal { if (root==NULL) {return t; } t.push_back(root->val); preorderTraversal(root->left); preorderTraversal(root->原创 2014-04-04 09:43:11 · 682 阅读 · 0 评论 -
LeetCode之Search Insert Position
int searchInsert(int A[], int n, int target)//Search Insert Position { if(n==0||A==NULL) return 0; int index; for (int i=0;i<n;i++) { if(i==0&&A[i]>target) return 0; if(i==n-1&&A[i]<tar原创 2014-04-09 22:59:37 · 746 阅读 · 0 评论
分享