
LeetCode
s_h_r
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LeetCode 226. Invert Binary Tree
题意:给你一颗二叉树,让你将这棵树反转。 思路:可以使用递归与非递归两种方式,没什么好说的。。。 递归:class Solution{public: TreeNode *invertTree(TreeNode *root){ if(root == NULL) return NULL; TreeNode *saveLeft = ro原创 2016-02-11 09:03:21 · 318 阅读 · 0 评论 -
LeetCode 169. Majority Element
题意:找出一个数组中出现次数大于n/2的那个元素 思路:我的思路就是用map。。。但显然是个很low的方法。网上大神的做法是删除任意两个不相同的元素,最终剩下的那个元素就是所求。class Solution{public: int majorityElement(vector<int> &nums){ int count = 0; int tar;原创 2016-02-16 10:13:45 · 348 阅读 · 0 评论 -
LeetCode 171. Excel Sheet Column Number
题意:给你一个列的字母表示,让你还原成十进制的数字表示class Solution{public: int pow_(int n){ int res = 1; for(int i = 0; i < n; i++) res *= 26; return res; } int titleToNumber(string s){ int原创 2016-02-16 08:47:45 · 241 阅读 · 0 评论 -
LeetCode 217. Contains Duplicate 哈希
题意:给你一个数组,问你其中有没有相同的元素。 思路:这个题有1W种解法,但是为了练习嘛,我就选了用哈希表来做这道题目。。。虽然麻烦。。但是达到了训练的目的。。。class Solution{private: const static int MOD = 1000007; struct HashMap{ int val; HashMap *next;原创 2016-02-15 18:26:48 · 299 阅读 · 0 评论 -
LeetCode 13. Roman to Integer
题意:罗马数字转十进制数字思路:首先要知道一些罗马数字的组合规则: I:1 V:5 X:10 L:50 C:100 D:500 M:1000 小的在大的前面相减,如:IV:4,CD:400 打的在小的前面相加,如:VI:6,DC:600 最多只能有一个小的在大的前面 而且小的在大的的前面只能有 XL XC CD CM IX IV 这几种形式,不能有IC这种表示99,可以用XCIX表示之原创 2016-03-02 19:45:20 · 421 阅读 · 0 评论 -
LeetCode 206. Reverse Linked List
题意:反转一个单向链表递归:class Solution{public: ListNode *reverseList(ListNode *head){ if(head == NULL || head->next == NULL){ return head; } else{ ListNode *P原创 2016-03-02 18:06:47 · 399 阅读 · 0 评论 -
LeetCode 242. Valid Anagram
题意:问你两个字符串里面所包含的字符是否相同class Solution {public: bool isAnagram(string s, string t) { if(s.length() != t.length()) return false; int *alphaNumS = new int[26]; int原创 2016-02-11 19:29:11 · 285 阅读 · 0 评论 -
LeetCode 100. Same Tree
题意:判定两颗二叉树是否相同 非递归的写法就是bfs逐层遍历 递归:class Solution{public: bool isSameTree(TreeNode *p, TreeNode *q){ if(p == NULL && q != NULL) return false; if(p != NULL && q == NULL原创 2016-02-11 15:40:37 · 351 阅读 · 0 评论 -
LeetCode 283. Move Zeroes
题意:将所有的0移动到数组最后面class Solution{public: void moveZeroes(vector<int> &nums){ int zeroes = 0; for(vector<int>::iterator it = nums.begin(); it != nums.end(); ){ if(*it == 0原创 2016-02-11 12:47:38 · 300 阅读 · 0 评论 -
LeetCode 237. Delete Node in a Linked List
题意:给你一个单向链表,删除一个非末节点。class Solution {public: void deleteNode(ListNode* node) { if(node == NULL || node->next == NULL) return; node->val = node->next->val; node-原创 2016-02-11 12:41:22 · 374 阅读 · 0 评论 -
LeetCode 104. Maximum Depth of Binary Tree
题意:求一棵二叉树的高度 思路:这里要说一下非递归的写法,就是bfs逐层遍历整棵二叉树,当遍历完一层深度就加一,这里也用到了queue的FIFO特性。 递归:class Solution {public: int maxDepth(TreeNode* root) { if(root == NULL) return 0; retur原创 2016-02-11 11:04:55 · 323 阅读 · 0 评论 -
LeetCode 292. Nim Game
很简单的一道Nim游戏题class Solution {public: bool canWinNim(int n) { return n % 4 != 0; }};原创 2016-02-11 09:15:51 · 304 阅读 · 0 评论 -
LeetCode 235. Lowest Common Ancestor of a Binary Search Tree
题意:求一颗二叉搜索树的上两个节点的最小公共子序列思路:我们根据BST的性质可知,对于一个节点p,如果存在左子树,那么它左子树上的点全都小于p,如果存在右子树,那么它右子树上的点都大于p。因此根据这个性质,我们可以知道如果这两个节点的值都小于p,则他两个一定在p的左子树上,如果都大于p,则一定在其右子树上。递归:class Solution{public: TreeNode* lowest原创 2016-03-07 16:57:26 · 374 阅读 · 0 评论