Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >LeetCode - 反转字符串&字符串转换整数

LeetCode - 反转字符串&字符串转换整数

作者头像
晓痴
发布于 2020-01-15 07:57:21
发布于 2020-01-15 07:57:21
84800
代码可运行
举报
文章被收录于专栏:曌的晓痴曌的晓痴
运行总次数:0
代码可运行

2020年的第一天,必须更新一条公众号,证明自己还在努力刷题(几周写一题),努力写公众号中。

原题地址:https://leetcode-cn.com/problems/reverse-string/

题目描述

编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。

不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。

你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。

解题思路:

这题我当时使用Go语言写的,直接从两端遍历,然后一直互换内容就好了。轻松加愉快的解决一题。

中文官网题解:

https://leetcode-cn.com/problems/reverse-string/solution/

个人题解:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
func reverseString(s string) string {
    runes := []rune(s)
    for i, j := 0, len(runes)-1; i < j; i, j = i+1, j-1 {
        runes[i], runes[j] = runes[j], runes[i]
    }
    return string(runes)
}

结果:

15ms很靠前,虽然现在看不出来了。

接下去是第二题

原题地址:https://leetcode-cn.com/problems/string-to-integer-atoi/

题目描述

题意很简单,最关键就是一句话:请你来实现一个 atoi 函数,使其能将字符串转换成整数。

解题思路:

  1. 首先就是先把头尾的空格给去除,然后判断正负
  2. 然后就是一直遍历字符串,直到遍历结束或者字符不在0-9之间,每次遍历到的数字,都可以计算在原来的结果值上
  3. 最后就是判断正负和是否超过Integer的阈值

中文官网题解:

https://leetcode-cn.com/problems/string-to-integer-atoi/solution/

个人题解:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class Solution {
    public int myAtoi(String str) {
         if (str == null || str.length() < 1)
            return 0;
        str = str.trim();
        char flag = '+';

        int i = 0;
        if (str.charAt(0) == '-') {
            flag = '-';
            i++;
        } else if (str.charAt(0) == '+') {
            i++;
        }
        double result = 0;

        while (str.length() > i && str.charAt(i) >= '0' && str.charAt(i) <= '9') {
            result = result * 10 + (str.charAt(i) - '0');
            i++;
        }

        if (flag == '-')
            result = -result;

        if (result > Integer.MAX_VALUE)
            return Integer.MAX_VALUE;

        if (result < Integer.MIN_VALUE)
            return Integer.MIN_VALUE;

        return (int) result;
    }
}

结果:

惨不忍睹的执行耗时。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-01-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 曌的晓痴 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
008. 字符串转换整数 (atoi) | Leetcode题解
首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。接下来的转化规则如下:
苏南
2020/12/16
5650
008. 字符串转换整数 (atoi) | Leetcode题解
LeetCode刷题实战8:字符串转换整数
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试。所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 !
程序员小猿
2021/01/15
4590
LeetCode刷题实战8:字符串转换整数
8 字符串转换整数 (atoi)
首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。接下来的转化规则如下:
木瓜煲鸡脚
2021/01/18
6500
8 字符串转换整数 (atoi)
LeetCode【8】-- 字符串转换整数
请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。
秦怀杂货店
2022/02/15
6500
【LeetCode】8. 字符串转换整数 (atoi)
当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。
韩旭051
2020/06/23
5400
【LeetCode】8. 字符串转换整数 (atoi)
Leetcode-8.字符串转换整数 (atoi)
首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。接下来的转化规则如下:
悠扬前奏
2020/05/18
6910
LeetCode-8 字符串转换整数
今天我们学习第8题字符串转换整数,这是一个字符串的中等题,像这样字符串的题目经常作为面试题来考察面试者算法能力和写代码能力,因此最好能手写出该题。下面我们看看这道题的题目描述。
用户3470542
2019/06/26
7800
LeetCode-8 字符串转换整数
leecode刷题(16)-- 字符串转换整数
当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。
希希里之海
2019/03/06
5390
leetcode刷题(115)——剑指 Offer 67. 把字符串转换成整数
写一个函数 StrToInt,实现把字符串转换成整数这个功能。不能使用 atoi 或者其他类似的库函数。
老马的编程之旅
2022/06/22
3230
从0打卡leetcode之day9--字符串转整型
好久没更新了,今天是开学的第一天,这学期选了门算法的课,打算好好刷下《算法导论》这本书,可能接下来会一边分享leetcode的刷题贴,一边分享自己在书上所学的一些算法。欢迎你一起和我学习坚持下去
帅地
2018/10/09
6390
8. 字符串转整数 (atoi)
在找到第一个非空字符之前,需要移除掉字符串中的空格字符。如果第一个非空字符是正号或负号,选取该符号,并将其与后面尽可能多的连续的数字组合起来,这部分字符即为整数的值。如果第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。
张伦聪zhangluncong
2022/10/26
6840
LeetCode 8. 字符串转换整数 (atoi)
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/string-to-integer-atoi 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
Michael阿明
2022/11/26
2020
leetcode-8. 字符串转换整数 (atoi)
根据题目的要求,这道题就是要提取传进来的字符串中的数并转化为其对应的值,题目告知目标数字可能存在正负符号,且字符串存在空格以及非数字的其他字符。
灰太狼学Java
2022/06/25
6580
leetcode-8. 字符串转换整数 (atoi)
007. 整数反转 | Leetcode题解
假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为[−231, 231− 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。
苏南
2020/12/16
3950
007. 整数反转 | Leetcode题解
Python 版 LeetCode 刷题笔记 #8 字符串转换整数 (atoi)
今天趁着有兴致多刷一道,中等难度的题,这种题考虑的情况比较多,写完之后只能靠提交了看测试结果,针对返回的特殊测试用例来完善代码。大概提交了四次,我的代码通过了。题目挺长,走起~
TTTEED
2020/07/08
1K0
LeetCode - 整数反转
原题地址:https://leetcode-cn.com/problems/reverse-integer/
晓痴
2019/09/24
3260
LeetCode - 整数反转
剑指Offer-把字符串转换成整数
package String; /** * 把字符串转换成整数 * 题目描述 * 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0 * 输入描述: * 输入一个字符串,包括数字字母符号,可以为空 * 输出描述: * 如果是合法的数值表达则返回该数字,否则返回0 * 示例1 * 输入 * +2147483647 * 1a33 * 输出 * 2147483647 * 0 */ public class Solution
武培轩
2018/04/18
7600
LintCode-54. 转换字符串到整数
实现atoi这个函数,将一个字符串转换为整数。如果没有合法的整数,返回0。如果整数超出了32位整数的范围,返回INT_MAX(2147483647)如果是正整数,或者INT_MIN(-2147483648)如果是负整数。
悠扬前奏
2019/05/31
6100
整数反转(ReverseInteger)
注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [, ]。请根据这个假设,如果反转后整数溢出那么就返回 0。
爱敲代码的猫
2019/12/18
4680
LeetCode8. 字符串转整数 (atoi)
 多考虑一些细节即可 class Solution { public int myAtoi(String str) { long ans = 0,MAX_INT = (long)Integer.MAX_VALUE + 1; boolean flag = false; int st = 0; while(st < str.length() && str.charAt(st) == ' ') { st++;
mathor
2018/07/24
6480
LeetCode8. 字符串转整数 (atoi)
相关推荐
008. 字符串转换整数 (atoi) | Leetcode题解
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文