随笔分类 -  Level 1

摘要:问题: 这是我今天面试时遇到的一道题。要求不使用循环反转字符串,当时被卡住了,一直没有想到要用递归,后面面试官提示用递归,才想到,哎。 分析: 递归的思路是:构建一个方法,该方法把返回从0到 i 的反转字符串,如果i = 0, 返回当前字符。 转载请注明出处。 阅读全文
posted @ 2015-01-06 09:26 北叶青藤 阅读(254) 评论(0) 推荐(0)
摘要:问题: 把字符串压缩,比如aaabbbbc, 压缩后成为:a3b4c1。 分析: 这题很简单,我们只需要从头到尾遍历一遍字符串即可。首先设置一个计数器count, 每次“指针移位”的时候,判断当前字符是否与前一个字符相等,如果相等,count++, 指针继续下移,否则,我们需要对前面已经遍历的字符串 阅读全文
posted @ 2015-01-06 09:25 北叶青藤 阅读(198) 评论(0) 推荐(0)
摘要:问题: 所谓 anagram, 就是两个词所用的字母及其个数都是一样的,但是,字母的位置不一样。比如 abcc 和 cbca 就是 anagram. 分析: 判断的方法比较简单,先把单个字母(字符)转成整数,然后利用了hashtable+计数器的原理进行判断。 转载请注明出处。 阅读全文
posted @ 2015-01-06 09:23 北叶青藤 阅读(905) 评论(0) 推荐(0)
摘要:问题: 有两个字符串,每个字符串的字符从A-Z中选取,比如: B = “ABBC”, A = “ACBBD”。那么A包含所有B中出现的字符。如果A = “ACBD” 或者 A = “ABBD”,则我们认为A不包含B中所有的字符。 分析: 对于“是否包含”的问题,基本上处理的方法都会与hashtabl 阅读全文
posted @ 2015-01-06 09:22 北叶青藤 阅读(407) 评论(0) 推荐(0)
摘要:问题: 给定一个字符串,比如 A = “ABCDACD”, 找出第一个只出现一次的字符,在A中,第一个只出现一次的字符是‘B’。 分析: 为了判定某字符是否出现一次,我们可以从从头开始往下遍历,如果没有重复,则选取,否则抛弃。这样做的话复杂度为 O(n^2)。其实,对于判定是否存在或者存在的次数等问 阅读全文
posted @ 2015-01-06 09:20 北叶青藤 阅读(215) 评论(0) 推荐(0)