LeetCode
JMULiShimin
这个作者很懒,什么都没留下…
展开
-
LeetCode | 1-bit and 2-bit Characters
1.1-bit and 2-bit Characters (Easy)题目解析:该题目要求我们计算给定数组的长度是否正确,数组中会输入诺干个1和0,利用1和0的个数来判断数组的长度,最后以0为结束符(此0不计算在数组长度内)思路:比较容易的一题,题目已经将数组的参数输入好传给我们,我们只需用1和0来计算数组长度是否正确,当数组元素只有1的时候,该数组长度应该为2,例如:[1,0,0](...原创 2018-11-25 22:37:52 · 92 阅读 · 0 评论 -
LeetCode | Design HashSet
Design HashSet(Easy)题目解析题目要求不适用自带的哈希类实现一个哈希表的基本操作,添加,删除,查找。思路我们用一个数组来作为哈希表,题目的数据最大为1000000,所以我建立了一个大小为1000001的数组,然后添加时对应的数组位置加一,删除时减一,查找是直接找数组对应位置。代码class MyHashSet { int haxi[1000001]={0};...原创 2018-12-05 20:23:11 · 170 阅读 · 0 评论 -
Leet Code | Word Pattern
Word Pattern (Easy)题目解析题目提供了两个字符串,一个是只由小写字母组成的模式字符串,另一个是由小写字母和空格组成的单词字符串,题目要求判断所给的单词字符串与模式字符串中的模式是否相同,相同则返回true,否则返回false。例如"abab"和"dog cat dog cat"的模式相同则返回true。思路本题思路稍微比较复杂,我使用了哈希表来判断它们之间的模式是否相等...原创 2018-12-01 21:08:31 · 305 阅读 · 0 评论 -
LeetCode | Length of Last Word
Length of Last Word (Easy)题目解析题目给我们提供了一个字符串s,里面是由多个字符组成的单词,每个单词间由空格隔开,题目要求我们计算给定的字符串中的最后一个单词一共由多少个字符组成。思路既然是要找最后一个单词,那么我们只要从后往前找就行,看从后往前的字符中是否有不是空格的,当我们找到那个不是空格的字符时,就说明当前这个字符就是我们要找的单词的最后一个字符,接下来我...原创 2018-11-28 18:21:00 · 119 阅读 · 0 评论 -
LeetCode | Can Place Flowers
Can Place Flowers (Easy)题目解析题目给了我们一个数组flowerbed作为花盆,这个数组由诺干个1和0组成,1说明该位置种了植物,0说明每种,题目给出了一种规则:种花时,诺花盆里相邻的两个位置都种了花,它们会因为争抢水而死亡,所以种花时中间要留一个位置,例如[1,0,1]。题目给了我们一个变量n,代表接下来要种的花的数量,要求判断在花不会相邻的情况下能否完全把花种进给...原创 2018-11-27 19:12:34 · 158 阅读 · 0 评论 -
LeetCode | Implement Queue using Stacks
题目解析题目要求我们用栈来实现队列的基本操作:push(),pop(),peek()和empty()。思路做题目前得先了解栈的基本找操作,为了实现队列的操作,我使用了两个栈来模拟队列。要放如元素时,直接把元素放进栈a中,要删除元素时,首先判断栈a是否时空的,诺不是,在判断栈b是否有元素,如果同时满足栈a不空且栈b为空则将栈a的源素从栈顶开始搬进栈b,在删除b的栈顶元素。反之则直接删除栈...原创 2018-12-04 21:22:13 · 141 阅读 · 1 评论 -
Leet Code | Number of Segments in a String
题目解析题目给我们提供了一个字符串,字符串由诺干个空格和其他字符组成,其他的连续字符被定义为一个词串,由每个空格隔开,例如[hello, world! !]中"hello,",“world!”,"!"算作是三个词串,我们需要统计给定字符串中的词串的数量。思路题目没什么难度,我们只需定义一个flag作为标记,当遇到不为 ’ '的字符且flag的值为0时总词数加一,并把标记置为1,然后遇到...原创 2018-11-30 01:56:48 · 126 阅读 · 0 评论 -
LeetCode | Count Binary Substrings
Count Binary Substrings(Easy)题目解析该题在一开始给了我们一串由0和1组成的字符串,让我们判断字符串中的具有相同个数数字的连续子串的数量,并且所有的0和1都是连续分组的。思路这道题目相对比较复杂,我们需要判断所给数组中具有相同个数数字的子串的个数,就需要遍历整个数组,一遇到他们前后相等的情况,就做一次记录,直到他们前后不相等,在将记录的数量传给判断用的变量,该...原创 2018-11-25 23:49:17 · 109 阅读 · 0 评论 -
LeetCode | Arranging Coins
Arranging Coins (Easy)题目解析该题给了我们一个变量n,代表n个硬币,然后将这些硬币排拍成一个阶梯状的形状,最后我们要判断该图形一共有几排。当最后一排排满的时候返回总层数,诺最后一排没排满则返回总层数减一。思路依题意,我们有n个硬币,第一排放一个,第二排放两个以此类推,我们一行一行的排,排完一行后将当前这行的硬币数剪掉,排到最后的时候会出现两种情况,一种是最后一排硬币...原创 2018-11-25 23:13:33 · 133 阅读 · 0 评论 -
LeetCode | Delete Node in a Linked List
Delete Node in a Linked List (Easy)题目解析这道题要求我们删除链表中值与题目传入值相等的节点。题目将会给定创建好的链表和要删除的数字。思路这道题有个比较坑的地方是题目一开始就将要删除的节点告诉我们了(搞得我看了半天。。),意思就是说我们只要把他给我们的节点删除掉就行,不需要自己再去比较值找节点。所以我们只需用题目给的节点,将该节点的下一个节点的值赋给当前...原创 2018-11-25 22:48:32 · 115 阅读 · 0 评论 -
LeetCode | Contains Duplicate
Contains Duplicate (Easy)题目解析该题目给了我们一个数组,让我们判断这个数组里是否有相同的数。思路最简单的方法:暴力解题法,通过嵌套循环遍历数组,从而判断是否有相同的数字。但这种方法时间复杂度较高,诺不是实在想不到别的方法建议不要使用。这题我的想法是通过排序先将数组中的元素从大到小排序,这样一来只要有相同的元素他们就会排在一起,这样再来遍历数组就能快速很多。结...原创 2018-11-25 22:46:06 · 142 阅读 · 0 评论 -
LeetCode | Binary Tree Paths
Binary Tree Paths(Easy)题目解析题目给了我们一棵数,让我们遍历树并输出数的每一条路径。思路遍历树,我们可以使用递归,通过不断的读取数的孩子来查找路径,直到找到叶子,在一路返回值到根节点。代码class Solution {public: vector<string> binaryTreePaths(TreeNode* root) { ...原创 2018-12-06 23:15:06 · 117 阅读 · 0 评论