数据结构算法(字符串转整数和回文数)

2020年08月17日

| 萬仟网IT编程

我要评论

08字符串转整数题目描述:分析:本题主要是字符串的处理。需要注意以下几点:去除字符前的空字符第一个有效字符必须是符号或者数字只能有一个符号注意数值越界所以在具体处理的时候,你可以截取一个字符然后直接转成一个数字类型(考虑越界)但是并不推荐。这里个人使用遍历字符串数字字符时候将其与'0'字符差转换成数字进行计算,当超出int范围直接停止。通过代码为:public static int myAtoi(String str) {int zheng = 1;int ind

维护公众号:bigsai ,点赞再看,养成习惯!

08字符串转整数

题目描述:

分析:

本题主要是字符串的处理。需要注意以下几点:

去除字符前的空字符

第一个有效字符必须是符号或者数字

只能有一个符号

注意数值越界

所以在具体处理的时候,你可以截取一个字符然后直接转成一个数字类型(考虑越界)但是并不推荐。这里个人使用遍历字符串数字字符时候将其与'0'字符差转换成数字进行计算,当超出int范围直接停止。

通过代码为:

public static int myAtoi(String str) { int zheng = 1; int index=0; long value=0; while (indexstr.length()-1)return 0; if(str.charAt(index)=='+') {index++;} else if (str.charAt(index)=='-') { zheng=-1;index++; } for(int j=index;j='0'&&str.charAt(j)<='9') { value=value*10+str.charAt(j)-'0'; if(value*zheng>Integer.MAX_VALUE)return Integer.MAX_VALUE; if(value*zheng

09回文数

描述:

回文数

判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

示例 1:

输入: 121

输出: true

示例 2:

输入: -121

输出: false

解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。

示例 3:

输入: 10

输出: false

解释: 从右向左读, 为 01 。因此它不是一个回文数。

分析:

此题比较简单,需要考虑以下几点:

不能是负数,负数不满足回文数的要求

考虑奇数偶数长度数字会文性

提供两种方法:第一种将数字转成字符串,从中间向两侧拓展比较。

实现代码为:

//11% public boolean isPalindrome(int x) { if(x<0)return false; String va=x+""; int left=0,right=0; if(va.length()%2==0) { left=va.length()/2-1;right=left+1; } else { left=va.length()/2;right=left; } while (left>=0) { if(va.charAt(left)!=va.charAt(right)) return false; left--;right++; } return true; }

但很遗憾这种方法效率比较低只能打败11%的人呢,大概18ms左右。

但是可以换一种思路,使用字符串比较效率较低。可以使用数字类型计算一遍得到逆向数值然后进行比较最终值是否相同:

public boolean isPalindrome(int x) { if(x<0)return false; int team=x; int va=0; while (x>0) { va=va*10+x%10; x/=10; } if(va==team)return true; return false; }

这样就大概9-10ms左右,9ms大概打败98%而10ms只40%多。

最后

本周打开结束,本周打开题解为:

本文地址:https://blog.csdn.net/qq_40693171/article/details/108034978

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。

如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

相关文章:

思路这个题是最长上升子序列的变形版本,要保证严格递增,需要满足a[j]−a[i]>j−ia[j]-a[i]...

10.1

#include

#include

#include

#include

using namespace std;...

背景:在原有的项目GCC编译环境下(arm-linux 32位),增加x86-linux 64位的编译环境,编译curl库的时候发生错误。 其他:编...

1、C++ STL中std::accumulate()、std::begin()和std::end() accumulate定义在#include&...

问题1:若类B以private的方式继承类A,但还想让类A的某些个别成员,保持public或者protected的访问属性,这时应该怎么办? 使用u...

1. 什么是模板?

模板是c++支持参数化多态的工具,使用模板可以使用户为类或者函数声明一种一般模式,使得类中的某些数据成员或者成员函数的参数返回值取得任意类...

7. Reverse Integer 简单,但有一些注意点 C++ 不管正数还是负数 除法都是向0取整的: 10/4=2, 10/(-4)=-2 负...

本文是flutter中canvas和custompaint api的使用实例。首先看一下我们要实现的效果:结合动图演示,列出最终目标如下: 在程序运行后,显示...

vector::erase

C++ vector的元素删除,源码是这样的:

template

网友评论

验证码:

数据结构回文数c语言,数据结构算法(字符串转整数和回文数)相关推荐

  1. 统计5个字符串回文个数c语言,第一章 字符串 – 1.5 最长回文子串 - 编程之法:面试和算法心得...

    最长回文子串 题目描述 给定一个字符串,求它的最长回文子串的长度. 分析与解法 最容易想到的办法是枚举所有的子串,分别判断其是否为回文.这个思路初看起来是正确的,但却做了很多无用功,如果一个长的子串包 ...

  2. LeetCode 08字符串转整数09回文数

    维护公众号:bigsai ,点赞再看,养成习惯! 08字符串转整数 题目描述: 分析: 本题主要是字符串的处理.需要注意以下几点: 去除字符前的空字符 第一个有效字符必须是符号或者数字 只能有一个符号 ...

  3. c语言字母和空格占的字节数,C语言之计算字符串最后一个单词的长度,单词以空格隔开...

    Atian inputmethod 输入法解决方案 方言与多语言多文字支持 英语汉字汉语阿拉伯文的支持 (au Atian inputmethod 输入法解决方案 方言与多语言多文字支持 英语汉字汉语 ...

  4. 输入一个数寻找丑数C语言,数据结构与算法试题80道.doc

    数据结构与算法试题80道 由于这些题,实在太火了.所以,应广大网友建议要求,在此把之前已整理公布的前80题, 现在,一次性分享出来.此也算是前80题第一次集体亮相. 此些题,已有上万人,看到或见识到, ...

  5. java版数据结构解迷宫问题_C语言数据结构之迷宫问题

    本文实例为大家分享了数据结构c语言版迷宫问题栈实现的具体代码,供大家参考,具体内容如下 程序主要参考自严蔚敏老师的数据结构c语言版,在书中程序的大体框架下进行了完善.关于迷宫问题的思路可查阅原书. # ...

  6. java最长回文子序列_算法--字符串:最长回文子序列

    转自:labuladong公众号 子序列问题是常见的算法问题,而且并不好解决. 首先,子序列问题本身就相对子串.子数组更困难一些,因为前者是不连续的序列,而后两者是连续的,就算穷举都不容易,更别说求解 ...

  7. 数据结构员工通讯录管理系统 C语言,数据结构课程设计报告单位员工通讯录管理系统.doc...

    班级:计科112 学号: 201100814203 姓名:冯贵阳 PAGE PAGE 42 数 据 结 构 课 程 设 计 实 验 报 告 目录 1.单位员工通讯录管理系统(线性表的应用)---- - ...

  8. 数据结构课程设计家谱c语言,数据结构课程设计-家谱的实现与设计.doc

    数据结构课程设计-家谱的实现与设计 课 程 设 计 报 告 课程设计名称:数据结构课程设计 系 : 三系 学 生 姓 名 : 朱强 班 级: 13软件 学 号: 20130311227 成 绩: 指 ...

  9. c语言求最多啤酒数,C语言,算法、动态规划:有一个箱子的容量为v(正整数,0=v=20000),同时有n个物品(0n=30),...

    满意答案 24k纯真爱l 2013.11.07 采纳率:42%    等级:12 已帮助:9552人 #include #define N 30 int xiangzi(int n ,int V ,i ...

  10. 数据结构课程设计家谱c语言,数据结构课程设计 用二叉树实现家谱的相关运算 怎么编?谢谢!...

    稍微修改下就应该能用了.. #include <stdio.h> typedef struct node { int tag; union{struct node *sublist; ch ...

最新文章

  1. Nagios的安装和基本配置(二:Nagios-Server的安装)
  2. apache +mod_jk URL中文乱码
  3. Create 2021:李彦宏描绘未来交通图景 - 不限购、不限行、无拥堵
  4. pat00-自测2. 素数对猜想 (20)
  5. dj鲜生-27-登陆装饰器-使用django内置的登陆装饰器
  6. 一个普通类就能干趴你的springboot,你信吗?
  7. 41 岁蚂蚁金服总裁助理去世; 华为首款 5G 手机欧洲上市;库克首谈 5G iPhone | 极客头条...
  8. 培训笔记——2019年性能测试
  9. python千行代码项目_p2:千行代码入门python
  10. ImageMagick图片转PDF
  11. 期权、期货及其他衍生产品 第一章读书笔记
  12. 一切成功源于积累——20140219 混沌理论三原则
  13. 前端必备:六款CSS工具让代码充满魅力
  14. [Erlang危机](3.2)限制输入
  15. 【思维导图怎么画】万彩脑图大师教程 | 嵌入企业Logo到思维导图
  16. 《禅与摩托车维修艺术》
  17. TI C2000 刷flash意外锁芯片的解决办法
  18. 微信小程序开发语言一般有哪些?
  19. 海思开发板hi3559移植带opengl的qt并成功运行血泪史
  20. 谷歌浏览器Chrome无法搜索Google的解决办法

热门文章

  1. js遍历数组和遍历对象的区别
  2. 【转】【Linux】Linux 命令行快捷键
  3. Oracle截取字符串函数和查找字符串函数,连接运算符||
  4. java 修改final_Java反射有效修改final属性值
  5. laravel nginx_在nginx上用FastCGI解析PHP
  6. 拓端tecdat|R语言多变量广义正交GARCH(GO-GARCH)模型对股市高维波动率时间序列拟合预测
  7. 拓端tecdat|【视频】R语言广义相加模型(GAM)在电力负荷预测中的应用
  8. 拓端tecdat|R语言中不同类型的聚类方法比较
  9. python np数组中括号里面‘:n‘与‘n:‘什么意思
  10. php 连等赋值,变量赋值时的,多个变量连等的问题