自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 收藏
  • 关注

原创 [Leetcode]Kth Smallest Element in a BST

//用search计算左子树的节点个数,加上根节点本身若为k则输出,否则 //(1)若k大于目前个数,则k-左子树节点个数,再计算右子树 //(2)若k小于目前个数,则直接计算左子树 /**  * Definition for a binary tree node.  * struct TreeNode {  *     int val;  *     TreeNode *left;

2015-07-29 03:04:10 781 1

翻译 [Leetcode]Minimum Window Substring

class Solution { public:     string minWindow(string s, string t) {         vector found(128,0);         vector needfound(128,0);         for(int i=0;i         needfound[t[i]]++;         found[

2015-07-26 03:32:01 436

原创 [Leetcode]Largest Rectangle in Histogram

//用栈实现 class Solution { public:     int largestRectangleArea(vector& height) {     stack index;     vector high=height;     int result=0;     int temp;     high.push_back(0);     for(int i=0;

2015-07-25 06:46:02 529

原创 [Leetcode]Power of Two

//位运算,不断找出最后一位看是否是0,然后右移一位 //要注意n=0的情况,为false class Solution { public:     bool isPowerOfTwo(int n) {         if(n==0)return false;         while(!(n&1))         n>>=1;         if(n==1)return

2015-07-16 13:30:48 571

原创 [Leetcode]Basic Calculator II

//取vector作为一个栈,然后不断读取和pop。先把乘积或商算好再存入栈中 //ps.好久没有不参考别的直接自己写出AC代码了...各种bug...果然要好好练... //1.考虑空格情况;2.考虑数位情况;3.考虑index的边界情况 class Solution { public:     int calculate(string s) {         int len=s.

2015-07-16 12:27:35 670

原创 [Leetcode]Reverse Linked List II

//将list存入vector,然后翻转中间部分数列 class Solution { public:     ListNode* reverseBetween(ListNode* head, int m, int n) {         vector node;         ListNode* cur = head;         for(int i=0;i        

2015-07-14 08:54:20 669

原创 [Leetcode]Reorder List

//1.把list存到数组中,然后重新整理数组得到最后的结果;2.第二个while里面不是 class Solution { public:     void reorderList(ListNode* head) {         vector node;         if(head==nullptr)return;         ListNode* cur=head;  

2015-07-14 04:40:58 355

原创 [Leetcode]Anagrams

//回文,主要注意map的使用 class Solution { public:     vector anagrams(vector &strs) {         map temp;         vector res;         int num = strs.size();         string s;         for(int i=0;i      

2015-02-26 03:35:23 377

原创 [Leetcode]Insert Interval

/**  * Definition for an interval.  * struct Interval {  *     int start;  *     int end;  *     Interval() : start(0), end(0) {}  *     Interval(int s, int e) : start(s), end(e) {}  * };  */

2015-02-26 02:47:18 428

原创 [Leetcode]Linked List Cycle

//判断链表是否有环 class Solution { public:     bool hasCycle(ListNode *head) {         ListNode *first=head;         ListNode *second=head;         while(second!=NULL&&second->next!=NULL)         {  

2015-01-28 06:54:03 392

原创 [Leetcode]Linked List Cycle II

//list链表的题目 class Solution { public:     ListNode *detectCycle(ListNode *head) {         if(head==NULL)         return NULL;         ListNode *first=head;         ListNode *second=head;      

2015-01-28 06:50:39 351

原创 [Leetcode]Path Sum II

//DFS和二叉树 class Solution { private:     vectortemp;     vector>result;     void solve_dfs(TreeNode *root,int sum,vector temp,int add)     {         if(root==NULL)         return;         if(r

2015-01-27 06:35:44 348

原创 [Leetcode]Subsets II

//DFS,要改变temp和result的值,所以要用到& //每次循环最后要pop出最后一个元素 class Solution { private:     vectortemp;     vector>result;     void sub_set(vector S, vector&temp, vector>&result,int index)     {         r

2015-01-27 06:32:18 395

原创 [Leetcode]Pascal's Triangle II

//similar with the last one. class Solution { public:     vector getRow(int rowIndex) {         vector result;         vector last;         result.push_back(1);         if(rowIndex==0)      

2015-01-23 04:35:12 340

原创 [Leetcode]Pascal's Triangle

// 比较直白的一道题。缓存一个last,memory为O(n),把前一排数字存入以确定下一排数字 class Solution { public:     vector > generate(int numRows) {         vector temp;         vector last;         temp.push_back(1);         ve

2015-01-23 04:34:40 357

转载 [Leetcode]Populating Next Right Pointers in Each Node

思路: 很棒的一道题,可以认为是先序遍历。 (1)根据题述:左孩子为空,则右孩子一定为空,所以左孩子为空,则return (2)如果左孩子不为空,则右孩子一定不为空,所以链接左孩子和右孩子即可(左孩子的next赋值为右孩子) (3)由于先序遍历,所以父节点的next比子节点的next先被设置,故父节点不同的两个子节点进行连接,就可以用到父节点的next,整题的精华便

2014-10-13 09:01:15 439

原创 [Leetcode]Validate Binary Search Tree

//需要判断zuozis /**  * Definition for binary tree  * struct TreeNode {  *     int val;  *     TreeNode *left;  *     TreeNode *right;  *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}  

2014-10-13 08:28:27 508

原创 [Leetcode]Spiral Matrix

//从Spiral Matri Spiral Matrix II class Solution { public:     vector spiralOrder(vector > &matrix) {         vector result;         int m=matrix.size();         if(m==0)return result;    

2014-10-13 07:37:16 406

原创 [Leetcode]Spiral Matrix II

//用Java模拟,写起来比较方便 public class Solution {     public int[][] generateMatrix(int n) {         int [][] res= new int[n][n];          if(n         //int res[5050][5050];         int total = n/2;  

2014-10-13 07:01:20 480

原创 [Leetcode]Generate Parentheses

//网上很多人写的是递归, class Solution { public:     vector generateParenthesis(int n) {         vector res;         generate(n,n,"",res);         return res;     }     void generate(int left, int right

2014-10-13 05:16:09 415

原创 [Leetcode]Substring with Concatenation of All Words

class Solution { public:     vector findSubstring(string S, vector &L) {         vector res;         int l_len=L[0].length();         map word_count;//建两个map,存储L里面的string出现的次数         map counti

2014-10-09 03:26:41 490

翻译 [Leetcode]Divide Two Integers

//位运算的好例子,记作翻译,以后来看看 class Solution { public:     int divide(int dividend, int divisor) {         long long a = abs(double(dividend));         long long b = abs(double(divisor));         long lo

2014-10-09 01:01:36 341

原创 [leetcode]Sum Root to Leaf Numbers

//树的遍历。切记,传值时候需要& /**  * Definition for binary tree  * struct TreeNode {  *     int val;  *     TreeNode *left;  *     TreeNode *right;  *     TreeNode(int x) : val(x), left(NULL), right(NULL)

2014-10-08 22:26:44 291

原创 [Leetcode]4Sum

//zhe xuyao  class Solution { public:     vector > fourSum(vector &num, int target) {         sort(num.begin(),num.end());         vector> res;         for(int i=0;i         {             if(i

2014-10-08 11:51:21 372

原创 [Leetcode]3Sum Closest

class Solution { public:     int threeSumClosest(vector &num, int target) {         sort(num.begin(),num.end());         int min=INT_MAX;         int res;         for(int i=0;i         {      

2014-10-08 10:40:48 357

原创 [Leetcode]String to Integer (atoi)

//要注意一个地方就是 class Solution { public:     int atoi(const char *str) {         if(*str == '\0'||str== NULL)return 0;         long long int res = 0;         while(*str == ' ')         str++;    

2014-10-08 10:05:53 314

原创 [Leetcode]3Sum

//因为疏忽经常得不到[0,0,0] class Solution { public:     vector > threeSum(vector &num) {         sort(num.begin(),num.end());         vector> result;         vectortemp;         int n=num.size();    

2014-10-03 08:19:35 306

原创 [Leetcode]ZigZag Conversion

//用codeblock class Solution { public:     string convert(string s, int nRows) {          int len=s.length();          string res="";          if(s.empty())return s;          if(len          in

2014-10-03 07:26:08 373

原创 [Leetcode]Longest Palindromic Substring

//最长回转子串

2014-10-02 07:37:57 351

原创 [Leetcode]Maximum Product Subarray

//用curmin和curmax来记录 class Solution { public:     int maxProduct(int A[], int n) {         if(n==0)return 0;         if(n==1)return A[0];         int curmin=A[0];         int curmax=A[0];      

2014-10-01 08:54:01 416

原创 [leetcode]Permutations

大家好像都在转载这篇...写的不错 http://blog.youkuaiyun.com/tuantuanls/article/details/8717262

2014-09-30 08:35:44 378

原创 [Leetcode]Valid Sudoku

class Solution { public:     bool isValidSudoku(vector > &board) {         bool row[9]={0};         bool col[9]={0};         for(int i=0;i         {             for(int j=0;j             {  

2014-09-30 07:19:56 323

原创 [Leetcode]Letter Combinations of a phone number

class Solution {             const vector yang=         {             " ",             "",             "abc",             "def",             "ghi",             "jkl",             "mno",    

2014-07-26 08:57:55 522

原创 [Leetcode]Combination Sum II

Leetcode Combination Sum II,略有疑惑求讨论

2014-07-26 06:23:13 736

原创 [Leetcode]Unique Path II

//类似于unique path,只是加了 //1. class Solution { public:     int uniquePathsWithObstacles(vector > &obstacleGrid) {         int m=obstacleGrid.size();         int n=obstacleGrid[0].size();         v

2014-07-26 02:24:57 477

原创 [Leetcode]Unique Path

//DP每一个 class Solution { public:     int uniquePaths(int m, int n) {         vectorf(n,0);         f[0]=1;         for(int i=0;i         for(int j=1;j         f[j]=f[j-1]+f[j];         return

2014-07-26 02:24:21 581

原创 [Leetcode]Combination sum

//DFS class Solution { public:     vector > combinationSum(vector &candidates, int target) {         vector>result;         vectortemp;         sort(candidates.begin(),candidates.end());  

2014-07-25 06:59:35 407

原创 [Leetcode] Word Break

//DP,先设置n+1 class Solution { public:     bool wordBreak(string s, unordered_set &dict) {         int m=dict.size();         if(m==0)return false;         int n=s.size();         vector f(n+1,fa

2014-07-23 02:23:52 369

原创 [Leetcode] Decode Ways

//类似斐波那契数列 //考虑多种情形,单个0,连续2个0, class Solution { public:     int numDecodings(string s) {         int len=s.size();         if(s.empty()||s[0]=='0')         return 0;         if(len==1)

2014-07-20 07:30:48 462

原创 [Leetcode] Climbing Stairs

//斐波那契数列 class Solution { public:     int climbStairs(int n) {         int first,second;         if(n==0)return 0;         if(n==1)return 1;         if(n==2)return 2;         first=0;secon

2014-07-20 01:49:11 498

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除