1957

无聊蛋疼的1957写的低端博客
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2014年1月12日

摘要: 递归遍历/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: int travel(TreeNode* root , int num) { if(root -> left == nullptr && root -> right ... 阅读全文

posted @ 2014-01-12 21:54 1957 阅读(154) 评论(0) 推荐(0)

摘要: naive的解法,O(n^2),应该谁都能想到枚举中间,再枚举左右边界。O(n) ,网上有个单调stack的解法,不过没看懂。。。空了再研究下我们还是从naive的解法入手吧那个做了好多好多的无用运算比如我算了i=2的leftmost的时候,算i=3的时候也会重复计算那么,我们把运算记录下来嘛。le... 阅读全文

posted @ 2014-01-12 21:39 1957 阅读(231) 评论(0) 推荐(0)

摘要: 最多n个相同的连续,那么就每隔n个检查下是否相等就0k了。。。class Solution {public: int removeDuplicates(int A[], int n) { if(n <= 2) return n; int cnt = 2; for(int i = 2 ; i < n ; i ++) { if(A[i] != A[cnt-2]) { A[cnt++] = A[i]; } } return cnt; }}; 阅读全文

posted @ 2014-01-12 16:35 1957 阅读(103) 评论(0) 推荐(0)

摘要: 最简单的就是用O(n)的额外空间不过也没必要,就用两个指针就好啦。。/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode *partition(ListNode *head, int x) { if(head == nullptr) return head; ... 阅读全文

posted @ 2014-01-12 15:07 1957 阅读(124) 评论(0) 推荐(0)

摘要: 简单题/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: vector > levelOrder(TreeNode *root) { vector > ans; if(root == nullptr) retur... 阅读全文

posted @ 2014-01-12 12:03 1957 阅读(134) 评论(0) 推荐(0)