随笔分类 - 字符串处理,C++STL
C++03标准中最强大的工具——标准模板库,提供string,map,vector等各种容器和算法
摘要:题意:将字符串转化成数字。 前置有空格,同时有正负号,数字有可能会溢出,这里用long long解决(leetcode用的是g++编译器),这题还是很有难度的。
阅读全文
摘要:题意:将数组旋转k次,如将数组[1,2,3,4,5]旋转1次得到[2,3,4,5,1],将数组[1,2,3,4,5]旋转2次得到[3,4,5,1,2]..... 本质是将数组分成两部分a1,a2,...ak以及ak+1....an两部分,然后将两部分进行交换。 我的解法是将数组分成两部分a1,a2,
阅读全文
摘要:题意:比较版本号的大小 有点变态,容易犯错 本质是字符串的比较,请注意他的版本号的小数点不知1个,有的会出现01.0.01这样的变态版本号
阅读全文
摘要:题意:将数字转化成excel表中的行中的项目 本质是10进制转化为26进制,但是在中间加入了一个不一样的操作,在每次操作前都需要n--
阅读全文
摘要:题意:设计一个能输出栈内最小值的栈 该题设计两个栈,一个栈是正常的栈s,而另一个是存最小值的栈sm 在push时要判断sm是否为空,如果为空或者非空但是栈顶元素大于等于插入值的 需要在sm中插入x 同样地在pop时,s的元素被删除了,那么sm中的也应该被删除。 通过这些操作维护sm能很巧妙在O(1)
阅读全文
摘要:题意:给定一个目标值target,找到两个数的和为target,返回这两个数的下标 用map记录每个数的下标,并用于查找
阅读全文
摘要:题意:判断字符串是否是回文字符串 先将所有的字母和数字字符保留,并将大写字母转化成小写字母,然后将字符串倒置,比较前后两个字符串是否相同。 该题最好的解法可以模仿 Leetcode 345 Reverse Vowels of a String 字符串处理
阅读全文
摘要:题意:将字符串排成Z字形。 PAHNAPLSIIGYIR 如果是5的话,是这样排的 P I AP YR H L G N SI A I 于是,少年少女们,自己去找规律吧 提示:每个Z字形的字符串和原字符串的每个字母的位子一一映射
阅读全文
摘要:由于老是更新简单题,我已经醉了,所以今天直接上一道通过率最低的题。 题意:判断字符串是否是一个合法的数字 定义有符号的数字是(n),无符号的数字是(un),有符号的兼容无符号的 合法的数字只有下列几种组合:(其中E可以大写) 有小数点和e (n).(un)e(n) .(un)e(n) (n).e(n
阅读全文
摘要:题意:倒置字符串中的元音字母。 用两个下标分别指向前后两个相对的元音字母,然后交换。 注意:元音字母是aeiouAEIOU。
阅读全文
摘要:题意:反转字符串,用好库函数。
阅读全文
摘要:题意:实现strStr(s,t),即返回在字符串s中t的首字母位置,没查找到返回-1。 由于楼主很懒又很水,直接调用了系统函数,看到这里的想拍死楼主的尽管来吧(吼吼吼~)。 (1)有兴趣的同志请参考牛逼算法--KMP算法,此算法能在O(length(s) + length(t))的复杂度下实现str
阅读全文
摘要:题意:两个二进制数相加,大数加法的变形 大数加法流程: 1.倒置两个大数,这一步能使所有大数对齐 2.逐位相加,同时进位 3.倒置两个大数的和作为输出
阅读全文
摘要:最长公共子串,我使用的方法是枚举
阅读全文
摘要: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...
阅读全文
摘要:Leetcode 205 Isomorphic Strings的进阶版 这次是词组字符串和匹配字符串相比较是否一致 请使用map来完成模式统计
阅读全文
摘要:判断括号是否合法 1.用stack存入左括号“([{”,遇到相应的右括号“)]}”就退栈 2.判断stack是否为空,可以判断是否合法
阅读全文
摘要:A就是统计猜对的同位同字符的个数 B就是统计统计猜对的不同位同字符的个数 非常简单的题
阅读全文
摘要:找出最后一个词的长度
阅读全文
摘要:判断两个字符串是否同构 hs,ht就是每个字符出现的顺序 "egg" 与"add"的数字都是122 "foo"是122, 而"bar"是123
阅读全文