摘要: 这道题要求的是完成整数的除法运算,不能用乘除和mod来求。既然不能够用乘除和取模,能用的就只有加减和位移。 思路比较抽象,直接说不好理解,举个例子,假设被除数是28,除数是5,则在第一个循环里,我们需要找到2^n满足2^n * 5 < 28,事实上我们知道,当n=2时,有4*5 = 20, n = 阅读全文
posted @ 2016-03-16 13:45 可普CS之家 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 这道题事实上就是编译一个String.indexOf()的函数,所以这道题直接用s1.indexOf(s2)便可解。但是这样做没有什么意义, 所以我们还是老老实实的一个一个遍历,当碰到首字母相同的时候,就判断加下来的字符串和needle是否相同,如果不相同,继续遍历。 代码如下: 阅读全文
posted @ 2016-03-16 12:08 可普CS之家 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 这道题要求的是在数组nums里面删除和给定的target相同的数字。如[1,3,2,3,2,4,5],target = 2。最后输出是[1,3,3,4,5]。 首先,输出的顺序并不做要求,第二,数组也不是sorted。思路总体来说和LeetCode26是相同的,就是把target相同元素用其他数字代 阅读全文
posted @ 2016-03-16 12:00 可普CS之家 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 这道题要求的是在一个sorted好的数组nums里面“删除”重复的数字。因为题目要求返回的是数组的长度,所以事实上并不是删除,而是把重复的数字用后面不一样的数字一一替代,用count记录重复的个数,最后返回nums.length - count就好了。说起来有点抽象,举个例子,假设nums = [1 阅读全文
posted @ 2016-03-16 11:15 可普CS之家 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 这道题是在一个List里面每k个node为一个group,然后反转。这里有几个要点,1.判断这个group能不能翻转,如果group的个数小于k,则不翻转),2. 翻转list,leetcode 206,3. 翻转之后与前后group要链接上,并且进行下一个group的翻转。整道题思路简单,但是容易 阅读全文
posted @ 2016-03-15 11:56 可普CS之家 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 题目要求很简单,就是把list里面的node两两互换。 当做比较复杂的LinkedList的题目的时候,最好是在草稿纸上画一画,走一遍流程,凭空想很容易会出错。这一题时LeetCode 25的k=2特殊例子,所以要简单很多。用两个node,一前一后,然后两两交换就好,细节上注意的是交换后两个node 阅读全文
posted @ 2016-03-15 11:28 可普CS之家 阅读(663) 评论(0) 推荐(0) 编辑
摘要: 题目和LeetCode(21)里merge two sorted List要求差不多,现在只是从2两个list变成了k个list。 看到这个题,第一个反应是用一个heap(最大堆)把k个list里面的数存起来,然后一个一个poll出来生成一个新的list。遍历所有list要O(n),再堆里面插入元素 阅读全文
posted @ 2016-03-15 11:20 可普CS之家 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 题目要求给你一个数字n,代表有n个括号()。然后输出n个括号可能的组合。如n=2时,就是"()() (())"。 如以前讲过,当需要列出所有可能的组合的时候,我们优先想到的就是backtracking。思路大概是这样子:用两个数字left和right纪录当前“剩余”(还没有没有加上)的括号数,对于其 阅读全文
posted @ 2016-03-15 10:51 可普CS之家 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 题目要求是,给你两个sorted LinkedList,然后把它们两个合并成一个新的LinkedList。思路很简单,就是比较ListNode L1 和 L2,哪个小就把那个node放到新的list里,并且移动相应ListNode的指针(L1或L2)。注意其中一个为null,另外一个不为null的时 阅读全文
posted @ 2016-03-15 10:40 可普CS之家 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 题目要求是这样,给你一串只包含符号的字符串,看看这串符号合不合法。怎么算合法呢?"()()()"和"[{}]()"都算是合法,但"([)]"就不合法了。 思路很简单,通过上面举的例子,我们可以看出来,一个右括号的出现,其合不合法,取决于最后出现的的左括号能不能对应起来,如果不能对应(如"("和"]" 阅读全文
posted @ 2016-03-13 15:27 可普CS之家 阅读(177) 评论(0) 推荐(0) 编辑