随笔分类 -  题库Leetcode简单题

https://leetcode.com/problemset/algorithms/中Easy级别的题
摘要:找到所有根到叶子的路径 深度优先搜索(DFS), 即二叉树的先序遍历。 阅读全文
posted @ 2016-03-18 20:30 Breeze0806 阅读(151) 评论(0) 推荐(0)
摘要:去掉链表中相应的元素值 阅读全文
posted @ 2016-03-17 21:13 Breeze0806 阅读(178) 评论(0) 推荐(0)
摘要:1 class Solution { 2 public: 3 vector vs_; 4 Solution(){ 5 string t("1"); 6 vs_.push_back(t); 7 for(int i = 1; i< 30;++i){ 8 string t1 = vs_[i - 1... 阅读全文
posted @ 2016-03-17 21:11 Breeze0806 阅读(152) 评论(0) 推荐(0)
摘要:Leetcode 205 Isomorphic Strings的进阶版 这次是词组字符串和匹配字符串相比较是否一致 请使用map来完成模式统计 阅读全文
posted @ 2016-03-17 21:09 Breeze0806 阅读(142) 评论(0) 推荐(0)
摘要:判断括号是否合法 1.用stack存入左括号“([{”,遇到相应的右括号“)]}”就退栈 2.判断stack是否为空,可以判断是否合法 阅读全文
posted @ 2016-03-16 20:06 Breeze0806 阅读(168) 评论(0) 推荐(0)
摘要:A就是统计猜对的同位同字符的个数 B就是统计统计猜对的不同位同字符的个数 非常简单的题 阅读全文
posted @ 2016-03-16 19:54 Breeze0806 阅读(144) 评论(0) 推荐(0)
摘要:删除从后往前数的第n个节点 我的做法是将两个指针first,second 先将first指向第n-1个,然后让first和second一起指向他们的next,直到first->next->next为空 最后只要删除second->next 阅读全文
posted @ 2016-03-16 19:44 Breeze0806 阅读(131) 评论(0) 推荐(0)
摘要:找出最后一个词的长度   阅读全文
posted @ 2016-03-13 19:51 Breeze0806 阅读(104) 评论(0) 推荐(0)
摘要:判断两个字符串是否同构 hs,ht就是每个字符出现的顺序  "egg" 与"add"的数字都是122 "foo"是122, 而"bar"是123   阅读全文
posted @ 2016-03-13 19:33 Breeze0806 阅读(158) 评论(0) 推荐(0)
摘要:反转二进制   阅读全文
posted @ 2016-03-12 22:43 Breeze0806 阅读(119) 评论(0) 推荐(0)
摘要:求相交矩形的面积   阅读全文
posted @ 2016-03-12 22:29 Breeze0806 阅读(120) 评论(0) 推荐(0)
摘要:找出是否存在nums[i]==nums[j],使得 j - i <=k 这是map的一个应用   阅读全文
posted @ 2016-03-12 12:42 Breeze0806 阅读(129) 评论(0) 推荐(0)
摘要:判断一个数独是否合法,即数独的每一行,每一列的数字不能有重复,每一个3*3的小数独中的数字不能有重复。 1 class Solution { 2 public: 3 bool isValidSudoku(vector<vector<char> > &board) { 4 int rowValid[1 阅读全文
posted @ 2016-03-12 12:30 Breeze0806 阅读(129) 评论(0) 推荐(0)
摘要:合并有序数组 时间复杂度O(m+n) 该算法来自各种算法与数据结构书,写得已经烂得不能再烂了,这个应该是最短的代码了吧,不知如何归类 1 class Solution { 2 public: 3 void merge(vector<int>& nums1, int m, vector<int>& n 阅读全文
posted @ 2016-03-10 20:29 Breeze0806 阅读(124) 评论(0) 推荐(0)
摘要:找出链表的交点, 如图所示的c1, 如果没有相交返回null. A: a1 → a2 ↘ c1 → c2 → c3 ↗ B: b1 → b2 → b3 我的方法是: (1)统计两个链表的长度 (2)移动较长的链表的表头,使得让两个链表的长度一致 (3)从修正后的表头出发对比两个链表的节点是否一致,输 阅读全文
posted @ 2016-03-10 20:23 Breeze0806 阅读(131) 评论(0) 推荐(0)
摘要:找出最短的从叶子到根的路径长 可以回忆Maximum Depth of Binary Tree的写法,只不过在!root,我把它改成了10000000,还有max函数改成了min函数,最后的值如果是10000000,毫无疑问这棵树肯定为空,因此在最后有(d>=1000000)?0:d; 1 /** 阅读全文
posted @ 2016-03-09 21:58 Breeze0806 阅读(137) 评论(0) 推荐(0)
摘要:用两个队列去实现栈,这里我使用了队列数组q[2],在所有的过程中保证一个队列是空的 push时插入到空的队列中,然后将队列中的元素移到另一个队列中 pop时从不空的队列中pop() peek时从不空的队列中取出front() 1 class Stack { 2 public: 3 queue<int 阅读全文
posted @ 2016-03-09 21:48 Breeze0806 阅读(168) 评论(0) 推荐(0)
摘要:判断一个数是否是回文数 方法是将数回转,看回转的数和原数是否相同 1 class Solution { 2 public: 3 bool isPalindrome(int x) { 4 if(x < 0) return false; 5 int _x = 0 ; 6 int n = x; 7 for 阅读全文
posted @ 2016-03-07 20:26 Breeze0806 阅读(211) 评论(0) 推荐(0)
摘要:二叉树的从叶子到根的和是否存在 1 /** 2 * Definition for binary tree 3 * struct TreeNode { 4 * int val; 5 * TreeNode *left; 6 * TreeNode *right; 7 * TreeNode(int x) : 阅读全文
posted @ 2016-03-07 20:21 Breeze0806 阅读(118) 评论(0) 推荐(0)
摘要:杨辉三角,这次要输出第rowIndex行 用滚动数组t进行递推 t[(i+1)%2][j] = t[i%2][j] + t[i%2][j - 1]; 1 class Solution { 2 public: 3 vector<int> getRow(int rowIndex) { 4 if(rowI 阅读全文
posted @ 2016-03-07 20:13 Breeze0806 阅读(131) 评论(0) 推荐(0)