LeetCode
angelewings
这个作者很懒,什么都没留下…
展开
-
Clone Graph,bfs,map
UndirectedGraphNode *cloneGraph(UndirectedGraphNode *node) { if(node==NULL) return NULL; UndirectedGraphNode *h,*p,*q; queue queue; map mp; h=原创 2014-10-19 16:35:00 · 356 阅读 · 0 评论 -
Word Ladder,bfs
开始的想法:bfs,像树的层序遍历一样原创 2014-10-19 21:57:15 · 585 阅读 · 0 评论 -
Rotate Image 模拟
方法一:按照对角线反转一次,每行在反转一次原创 2014-10-21 10:09:02 · 435 阅读 · 0 评论 -
Surrounded Regions ,BFS
从外面往 class Solution { struct point{ int x,y; point(int a,int b):x(a),y(b){} };public: void solve(vector> &board) { if(board.empty()||board.size()==0||boar原创 2014-10-21 12:20:42 · 371 阅读 · 0 评论 -
Divide Two Integers
int divide(int dividend, int divisor) { long long a = llabs(dividend); long long b = llabs(divisor); long long ans = 0; while (a >= b) { int shift原创 2014-12-07 22:48:45 · 413 阅读 · 0 评论 -
pow(x, n),有时递归的时候要注意用变量保存中间结果
double pow(double x, int n) { if(n==0) return 1; else if(n==1) return x; else if(x==0) return 0; if(n原创 2014-12-07 15:36:12 · 940 阅读 · 0 评论 -
Merge k Sorted Lists ,优先级队列(堆)的使用
struct cmp{ bool operator() (ListNode *p,ListNode *q){ return p->val>q->val; //> 小根堆 } }; ListNode *mergeKLists(vector &li原创 2014-12-07 15:18:28 · 636 阅读 · 0 评论 -
Sqrt(x) ,二分法,牛顿迭代法
一、二分法int sqrt(int n) { int left=0,right=n; while(left long long mid=(left+right)>>1; //mid必须为long long,否则设置temp为long long不管用 long long temp=mid*mid;原创 2014-12-09 19:11:56 · 536 阅读 · 0 评论 -
Longest Valid Parentheses,二维动态规划、一维动态规划、stack
一、二维动态规划int longestValidParentheses(string s) { int len=s.length(),maxLen=0; bool valid[len][len]; //valid[i][j]表示s[i]...s[j]是否是有效的 memset(valid,false,sizeof(valid));原创 2014-12-10 10:31:34 · 1249 阅读 · 0 评论 -
Binary Tree Zigzag Level Order Traversal,bfs,层序遍历
class Solution {public: vector > zigzagLevelOrder(TreeNode *root) { vector> res; vector oneRes; if(root==NULL) return res; queue q原创 2014-10-21 10:41:33 · 473 阅读 · 0 评论 -
Wildcard Matching
和Regular Expression Matching原创 2014-11-04 10:48:46 · 451 阅读 · 0 评论 -
Symmetric Tree ,bfs
标签说是class Solution {public: bool isLevelSym(vector arr){ if(arr.empty()||arr.size()==1) return true; if(arr.size()%2==1) return false; boo原创 2014-10-23 10:07:56 · 556 阅读 · 0 评论 -
Validate Binary Search Tree
二叉树中序遍历一遍,看是不是严格原创 2014-10-23 11:09:20 · 308 阅读 · 0 评论 -
Recover Binary Search Tree
solution using O(n) space,二叉树中序遍历原创 2014-10-25 15:40:14 · 389 阅读 · 0 评论 -
Word Break ,dp
bool wordBreak(string s, unordered_set &dict) { if(s.empty()||dict.empty()) return false; int len=s.length(); bool flag[len]; memset(flag,false,sizeof(原创 2014-10-30 11:18:17 · 421 阅读 · 0 评论 -
Word Break II
和上一题的思路基本一致,class Solution {public: void changeOrder(string& str){ int i=0,j=0; for(;i if(str[i]==' '){ reverse(&str[j],&str[i]);原创 2014-10-30 18:00:15 · 542 阅读 · 0 评论 -
Permutations II stl next_permutation的用法
vectorint> > permuteUnique(vectorint> &num) { vectorint> > ret; sort(num.begin(), num.end()); ret.push_back(num); while(next_permutation(num.begin(), num.en原创 2014-11-18 15:14:57 · 413 阅读 · 0 评论 -
Regular Expression Matching
首先明确一点s中是没有*和.的原创 2014-11-04 10:00:56 · 379 阅读 · 0 评论 -
int与string互转
int转string(注:itoa不是标准函数,OJ平台可能不接受)int n = 10;char temp[32];sprintf(temp, "%d", n);//long long 格式化 %lldstring str;str = temp;或者string(temp) string转intstring str = "test";int转载 2014-12-16 21:47:25 · 480 阅读 · 0 评论