【字符串】把字符串转换成整数

2023-05-16

题目描述

将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0
输入描述:
输入一个字符串,包括数字字母符号,可以为空
返回值描述:
如果是合法的数值表达则返回该数字,否则返回0
示例1
输入

“+2147483647”

返回值

2147483647

示例2

“1a33”

返回值

0


这题比较简单,使用result存储结果,sign表示符号,遍历字符串,若遇到+-,判断是否在第一位,若不是返回0,若是则设置相应的符号位,若字符为数字,则将其与之前结果累加,即上次的结果乘以10+当前字符数值,

注意将字符转换为数字的方法,c-‘0’

若遇到其它字符直接返回0,表示字符串非法

public class Solution {
    public int StrToInt(String str) {
        int result = 0, sign = 1;
        for (int i = 0; i < str.length(); i++) {
            char c = str.charAt(i);
            if (c == '+' || c == '-') {
                if (i == 0) {
                    if (c == '-') {
                        sign = -1; // 负数
                    }
                } else {
                    return 0;
                }
            } else if (c >= '0' && c <= '9') {
                if (result == 0)
                    result = (c - '0');
                else
                    result = result * 10 + (c - '0');
            } else {
                return 0;
            }
        }
        return result * sign;
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【字符串】把字符串转换成整数 的相关文章

  • 【pytorch select】索引函数

    select dim index xff1a 第一个参数为索引的维度 xff0c 第二个参数为索引的维度的序列号 span class token keyword import span torch a span class token o
  • 【双y轴图】python制作双y轴图

    span class token keyword import span matplotlib span class token punctuation span pyplot span class token keyword as spa
  • Linux上安装open3d

    pip install span class token operator span span class token operator span user open3d span class token operator span pyt
  • Linux下搜索软件的安装路径

    Linux下搜索软件的安装路径 xff0c 例如 xff0c hbase span class token function whereis span hbase
  • win10+VS2017安装PCL库

    参考博客 https www jianshu com p 463f54c91ab7 https blog csdn net weixin 41991128 article details 83864713 可能出现的问题 xff1a 使用V
  • 【python】使用open3d进行mesh sampling

    span class token keyword import span open3d span class token keyword as span o3d mesh path span class token operator 61
  • 【链表】两个链表的第一个公共结点

    题目描述 输入两个链表 xff0c 找出它们的第一个公共结点 xff08 注意因为传入数据是链表 xff0c 所以错误测试数据的提示是用其他方式显示的 xff0c 保证传入数据是正确的 xff09 解法 这题首先需要理解两个链表的公共节点的
  • 【链表】链表中环的入口结点

    题目描述 给一个链表 xff0c 若其中包含环 xff0c 请找出该链表的环的入口结点 xff0c 否则 xff0c 输出null 快慢指针法 求解链表中关于环的问题最常见的是使用快慢指针 xff0c fast指针和slow指针均从链表的头
  • 【链表】删除链表中的重复节点

    题目描述 在一个排序的链表中 xff0c 存在重复的结点 xff0c 请删除该链表中重复的结点 xff0c 重复的结点不保留 xff0c 返回链表头指针 例如 xff0c 链表1 gt 2 gt 3 gt 3 gt 4 gt 4 gt 5
  • Etcd 使用总结

    1 简介 Etcd API 特性 xff1a 原子性 xff1a 一个操作要么全部执行 xff0c 要么全部不执行一致性 xff1a 不论客户端请求的是哪个etcd服务器 xff0c 它都能读取到相同的事件 xff0c 而且这些事件的顺序也
  • 【torch.nn.AdaptiveMaxPool】

    Pytorch提供了自适应池化层torch nn AdaptiveMaxPool xff0c 这种层和一般的池化层一样 xff0c 都没有参数 xff0c 都是对特征进行降采样 xff0c 自适应的意思是在使用池化层时不需要指定核的大小步长
  • 【链表】复杂链表的复制

    题目描述 输入一个复杂链表 xff08 每个节点中有节点值 xff0c 以及两个指针 xff0c 一个指向下一个节点 xff0c 另一个特殊指针random指向一个随机节点 xff09 xff0c 请对此链表进行深拷贝 xff0c 并返回拷
  • 【数组】顺时针打印矩阵

    题目 输入一个矩阵 xff0c 按照从外向里以顺时针的顺序依次打印出每一个数字 xff0c 例如 xff0c 如果输入如下4 X 4矩阵 xff1a 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出
  • 【数组】数组中出现次数超过一半的数字

    题目描述 数组中有一个数字出现的次数超过数组长度的一半 xff0c 请找出这个数字 例如输入一个长度为9的数组 1 2 3 2 2 2 5 4 2 由于数字2在数组中出现了5次 xff0c 超过数组长度的一半 xff0c 因此输出2 如果不
  • java for循环的几种写法

    参考 xff1a https blog csdn net qq 36804363 article details 87539927 span class token keyword int span span class token pun
  • 【双指针】和为S的两个数字

    题目描述 输入一个递增排序的数组和一个数字S xff0c 在数组中查找两个数 xff0c 使得他们的和正好是S xff0c 如果有多对数字的和等于S xff0c 输出两个数的乘积最小的 输入 1 2 4 7 11 15 15 返回值 4 1
  • 【动态规划】连续子数组的最大和

    题目描述 输入一个整型数组 xff0c 数组里有正数也有负数 数组中的一个或连续多个整数组成一个子数组 求所有子数组的和的最大值 要求时间复杂度为 O n 输入 xff1a 1 2 3 10 4 7 2 5 返回值 xff1a 18 说明
  • Java交换字符串中两个位置的值

    需求 xff1a 对一字符串abcd xff0c 要求交换位置0和位置2的两个字符 xff0c 交换结果为cbad java高效实现方案 xff0c 先将String转换为char数组 xff0c 数组可以修改任意位置的值 xff0c 进行
  • 【动态规划、递归回溯】字符串的排列

    题目描述 输入一个字符串 按字典序打印出该字符串中字符的所有排列 例如输入字符串abc 则按字典序打印出由字符a b c所能排列出来的所有字符串abc acb bac bca cab和cba 输入一个字符串 长度不超过9 可能有字符重复 字
  • 【数组】把数组排成最小的数

    题目描述 输入一个正整数数组 xff0c 把数组里所有数字拼接起来排成一个数 xff0c 打印能拼接出的所有数字中最小的一个 例如输入数组 3 xff0c 32 xff0c 321 xff0c 则打印出这三个数字能排成的最小数字为32132

随机推荐

  • Docker 容器介绍

    1 简介 1 1 容器和VM 什么是容器 xff1a 一种操作系统级别的虚拟化的方案只能运行相同或相似内核的操作系统依赖Linux内核特性 xff1a Namespace和Cgroups 1 2 依赖内核特性 Namespaces xff1
  • 【数组】数组中重复的数字

    题目描述 在一个长度为n的数组里的所有数字都在0到n 1的范围内 数组中某些数字是重复的 xff0c 但不知道有几个数字是重复的 也不知道每个数字重复几次 请找出数组中第一个重复的数字 例如 xff0c 如果输入长度为7的数组 2 3 1
  • 【数组】构建乘积数组

    题目描述 给定一个数组A 0 1 n 1 请构建一个数组B 0 1 n 1 其中B中的元素B i 61 A 0 A 1 A i 1 A i 43 1 A n 1 不能使用除法 xff08 注意 xff1a 规定B 0 61 A 1 A 2
  • 【二分法】数字在升序数组中出现的次数

    题目描述 统计一个数字在升序数组中出现的次数 示例1 输入 1 2 3 3 3 3 4 5 3 返回值 4 看到数组是有序的 xff0c 并且是查找 xff0c 应该想到用二分法 xff0c 最简单的方法是用二分法找到该数 xff0c 然后
  • 【字符串】第一个只出现一次的字符

    题目描述 在一个字符串 0 lt 61 字符串长度 lt 61 10000 xff0c 全部由字母组成 中找到第一个只出现一次的字符 并返回它的位置 如果没有则返回 1 xff08 需要区分大小写 xff09 xff08 从0开始计数 xf
  • 【字符串】左旋转字符串

    题目描述 汇编语言中有一种移位指令叫做循环左移 xff08 ROL xff09 xff0c 现在有个简单的任务 xff0c 就是用字符串模拟这个指令的运算结果 对于一个给定的字符序列S xff0c 请你把其循环左移K位后的序列输出 例如 x
  • 【字符串】翻转单词顺序列

    题目描述 牛客最近来了一个新员工Fish xff0c 每天早晨总是会拿着一本英文杂志 xff0c 写些句子在本子上 同事Cat对Fish写的内容颇感兴趣 xff0c 有一天他向Fish借来翻看 xff0c 但却读不懂它的意思 例如 xff0
  • 【数组】扑克牌顺子

    题目描述 LL今天心情特别好 因为他去买了一副扑克牌 发现里面居然有2个大王 2个小王 一副牌原本是54张 他随机从中抽出了5张牌 想测测自己的手气 看看能不能抽到顺子 如果抽到的话 他决定去买体育彩票 嘿嘿 xff01 xff01 红心A
  • 【torch.einsum】

    参考 xff1a https www cnblogs com mengnan p 10319701 html 爱因斯坦简记法 xff0c 能简洁表示各种矩阵向量的操作 xff0c 例如矩阵转置 乘法 求和等等 xff0c pytorch中调
  • Linux关闭指定GPU进程

    首先查看正在运行的GPU进程 span class token function watch span n 1 nvidia smi 查看GPU进程PID 使用命令kill 9 PID关闭进程 xff0c 多个进程则PID之间用空格隔开 x
  • 【字符串】字符流中第一个不重复的字符

    题目描述 请实现一个函数用来找出字符流中第一个只出现一次的字符 例如 xff0c 当从字符流中只读出前两个字符 34 go 34 时 xff0c 第一个只出现一次的字符是 34 g 34 当从该字符流中读出前六个字符 google 34 时
  • Docker 镜像和容器

    1 安装配置 1 1 安装 span class token comment 卸载 span span class token function sudo span span class token function apt span re
  • 【字符串】表示数值的字符串

    题目描述 请实现一个函数用来判断字符串是否表示数值 xff08 包括整数和小数 xff09 例如 xff0c 字符串 34 43 100 34 5e2 34 123 34 3 1416 34 和 1E 16 34 都表示数值 但是 34 1
  • linux 服务器安装 anaconda

    https www cnblogs com zwq zju p 9715162 html
  • Linux将文件夹下所有文件复制到另一个文件中

    cp r source file dest file xff0c 表示所有文件
  • 【字符串 递归】正则表达式匹配

    题目描述 请实现一个函数用来匹配包括 和 的正则表达式 模式中的字符 表示任意一个字符 xff0c 而 39 表示它前面的字符可以出现任意次 xff08 包含0次 xff09 在本题中 xff0c 匹配是指字符串的所有字符匹配整个模式 例如
  • 解决Linux下载较慢的问题

    修改源 xff0c 输入命令sudo gedit etc apt sources list xff0c 覆盖源文件中所有内容 deb http mirrors aliyun com ubuntu trusty main restricted
  • Linux配置ssh

    服务器主机安装ssh sudo apt get install openssh server xff0c 客户端使用putty等支持ssh的软件登录即可 xff0c 记住服务器的ip和密码
  • pytorch计算模型参数量

    total span class token operator 61 span span class token builtin sum span span class token punctuation span span class t
  • 【字符串】把字符串转换成整数

    题目描述 将一个字符串转换成一个整数 xff0c 要求不能使用字符串转换整数的库函数 数值为0或者字符串不是一个合法的数值则返回0 输入描述 输入一个字符串 包括数字字母符号 可以为空 返回值描述 如果是合法的数值表达则返回该数字 xff0