博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Leedcode第65题——有效数字(史上最详细的解决方案,每一步给您讲的细致入微)
阅读量:3960 次
发布时间:2019-05-24

本文共 1317 字,大约阅读时间需要 4 分钟。

在这里插入图片描述

上面我们已经从整体与局部系统的分析了正确的组合方式,接下来我们就需要来开始思考如何实现算法。

从上面的分析我们知道了,如果是空串直接返回false,否则我们先把串的前后空格先都删除干净,然后第一个字符必然是:+,-,小数点,数字,如果是其它直接返回false.否则我们要分情况来讨论:

接下来我们来进行代码实现:

public class Solution {
public boolean isNumber(String s) {
//剔除空格 s = s.trim(); char[] chars = s.toCharArray(); int p = 0; if(chars.length==0){
return false; } if(!isNegative(chars[p])&&!isPoint(chars[p])&&!isPositive(chars[p])&&!isNumber(chars[p])){
return false; }else{
//绿色区域 if(isPositive(chars[p])||isNegative(chars[p])){
p++; if(p==chars.length){
return false; } } //蓝色区域 if(!isNumber(chars[p])&&!isPoint(chars[p])){
return false; }else{
if(isPoint(chars[p])){
p++; if(p==chars.length||!isNumber(chars[p])){
return false; }else{
p++; while(p
='0'&&c<='9'){
return true; }else{
return false; } } /** * 判断是否是字符e */ boolean isE(char c){
if(c=='e'){
return true; }else{
return false; } }}

转载地址:http://colzi.baihongyu.com/

你可能感兴趣的文章
Windows下关于多线程类 CSemaphore,CMutex,CCriticalSection,CEvent,信号量CSemaphore的使用介绍
查看>>
图像处理基本算法(汇总)以及实现
查看>>
C++编程获取本机网卡信息 本机IP 包括Windows和Linux
查看>>
C++连接CTP接口实现简单量化交易
查看>>
服务端使用c++实现websocket协议解析及通信
查看>>
C# string.Format使用说明
查看>>
Linux下安装Mysql数据库开发环境
查看>>
Linux用户及用户组添加和删除操作
查看>>
通用 Makefile 的编写方法以及多目录 makefile 写法
查看>>
C++的4种智能指针剖析使用
查看>>
RPC框架实现之容灾策略
查看>>
Docker私库
查看>>
hdu——1106排序(重定向)
查看>>
hdu——1556Color the ball(树状数组)
查看>>
hdu——1541Stars(树状数组)
查看>>
快速幂的精简代码
查看>>
求大数乘方的前n位数字(对数加快速幂)
查看>>
hdu——2602Bone Collector(第一类背包问题)
查看>>
hdu——1711Number Sequence(kmp专练)
查看>>
strstr函数和find函数的异同
查看>>