字符串(代码面试指南)
2017-08-26 14:40
232 查看
1、字符串中数字子串求和
【题目】
给定一个字符串str,求其中全部数字串所代表的数字之和。
【要求】
1、忽略小数点字符,例如"A1.3",其中包含两个数字1和3。
2、如果紧贴数字子串的左侧出现字符'-',当连续出现的数量为奇数时,则数字为负数,连续出现的数量为偶数时,则数字为正数。例如,"A-1BC--12",其中包含数字是-1和12。
【举例】
str="",返回36;
str="a-1b--2c--d6e",返回7;
2 去掉字符串中连续出现k个0
【题目】
给定一个字符串str,求其中全部数字串所代表的数字之和。
【要求】
1、忽略小数点字符,例如"A1.3",其中包含两个数字1和3。
2、如果紧贴数字子串的左侧出现字符'-',当连续出现的数量为奇数时,则数字为负数,连续出现的数量为偶数时,则数字为正数。例如,"A-1BC--12",其中包含数字是-1和12。
【举例】
str="",返回36;
str="a-1b--2c--d6e",返回7;
//这个题主要考察对不同情况的合适处理。返回数字求和 class A{ public: int numSum(string str){ if(str==null) return 0; int sum=0; int num=0; bool isPos=true; int cur=0; for(int i=0;i<str.size();i++) { cur=str[i]-'0'; if(cur<0||cur>9)//如果不是数字 { sum+=num;//把之前的数累加 num=0;//置零 if(str[i]=='-') { if(i-1>-1&&str[i-1]=='-') { pos=!=pos; } else { pos=false; } } else pos=true; } else{ num=num*10+pos?cur:-cur; } } sum+=num; return sum; } };
2 去掉字符串中连续出现k个0
相关文章推荐
- 程序员代码面试指南:IT名企算法与数据结构题目最优解-字符串问题:C/C++语言实现
- 程序员代码面试指南--用一个栈实现另一个栈的排序
- 程序员代码面试指南--由两个栈组成的队列
- 左程云代码面试指南:仅使用递归函数和栈实现一个逆序栈
- Java面试笔试指南(四)---基本类型、字符串、数组与运算
- 代码面试指南学习记录-第一章02
- 【程序猿笔试面试解题指南】求字符串中不含重复字符的最长子串
- 程序员代码面试指南(栈和队列)
- 数据结构与算法分析笔记与总结(java实现)--字符串面试指南
- 程序员代码面试指南--设计一个具有getMin功能的栈
- 【程序员代码面试指南】-栈和队列-最小栈/ 双栈队列/ 栈排序
- 程序员代码面试指南-猫狗队列(c++)
- 程序员代码面试指南--猫狗队列
- 《软技能——代码之外的生存指南》————面试,健身,理财
- 关于截取字符串的java笔试(面试)题简化代码实现
- 代码面试指南学习记录-第一章01
- 面试8之给定两个字符串s1和s2,请编写代码检查s2是否为s1旋转而成
- Java核心技术及面试指南的视频讲解和代码下载位置
- 程序员代码面试指南 IT名企算法与数据结构题目最优解.pdf
- 设计一个有getMin功能的栈 程序员代码面试指南