题解 | #c++ 这个题较难?? 9 行搞定,还可以优化 #

把字符串转换成整数

http://www.nowcoder.com/practice/1277c681251b4372bdef344468e4f26e

/*首先,这个题不考虑字母*/
/*那就简单多了,只考虑数字,遇到其他情况直接返回-1就行了*/
class Solution {
public:
    int StrToInt(string str) {
        int ans = 0;int isplus = 1;
        for(char ch:str){
            if(isalpha(ch)){
                return 0;
            }if (ch == '+' || ch =='-'){
                isplus = (ch == '+') ? 1 : -1; 
            }if(isdigit(ch)){
                ans = ans*10+ch-'0';
            }
        }return isplus*ans;
    }
};
全部评论
class Solution { public: int StrToInt(string str) { int ans = 0; int isplus = 1; for (char ch : str) { if (ch == '+' || ch == '-') { isplus = (ch == '+') ? 1 : -1; } else { if (ch < '1' || ch > '9') { return 0; } else { ans = ans * 10 + ch - '0'; } } } return isplus * ans; } }; 这样才万无一失
1 回复 分享
发布于 2023-08-13 12:16 广东
这个代码有问题,如果是“12&23”这种,特殊字符在中间就不符合了,只是这道题目测试案例没有给这种
1 回复 分享
发布于 2023-08-13 12:05 广东

相关推荐

湫湫湫不会java:先投着吧,大概率找不到实习,没实习的时候再加个项目,然后把个人评价和荣誉奖项删了,赶紧成为八股战神吧,没实习没学历,秋招机会估计不多,把握机会。或者说秋招时间去冲实习,春招冲offer,但是压力会比较大
点赞 评论 收藏
分享
06-15 02:05
已编辑
南昌航空大学 数据分析师
Eason三木:你如果想干技术岗,那几个发公众号合唱比赛的经历就去掉,优秀团员去掉,求职没用。然后CET4这种不是奖项,是技能,放到下面的专业技能里或者单独列一个英语能力。 另外好好改改你的排版,首行缩进完全没有必要,行间距好好调调,别让字和标题背景黏在一起,你下面说能做高质量PPT你得展现出来啊,你这简历排版我用PPT做的都能比你做的好。 然后自我评价,你如果要干数据工程师,抗压能力强最起码得有吧。
简历中的项目经历要怎么写
点赞 评论 收藏
分享
评论
7
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务