zoukankan      html  css  js  c++  java
  • 【剑指Offer】49把字符串转换成整数

    题目描述

    将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。

    时间限制:1秒;空间限制:32768K;本题知识点:字符串

    解题思路

    本题利用ASCII码来求解,要充分考虑各种情况,如输入为空、输入首字符为+/-号,输入只有+/-号等。

    Python代码:

    # -*- coding:utf-8 -*-
    class Solution:
        def StrToInt(self, s):
            # write code here
            result = 0
            sign = 1
            if not s:
                return 0
            if ord(s[0]) == ord('+'): #第一个字符是+号
                s=s[1:]
                sign = 1
                if len(s)==0: #只有一个+号
                    return 0
            if ord(s[0]) == ord('-'): #第一个字符是-号
                s=s[1:]
                sign = 0
                if len(s)==0: #只有一个-号
                    return 0
            for i in range(len(s)):
                if ord(s[i])>=ord('0') and ord(s[i])<=ord('9'):
                    result += ord(s[i])-ord('0')
                else:
                    return 0
                result *= 10
            result /= 10
            return result if sign else -result
  • 相关阅读:
    Django之Orm的各种操作
    python面试题---收藏的笔记
    jQuery中$.each()方法的使用
    Django 之 路由URL,视图,模板
    高级FTP服务器开发
    选课系统
    ATM
    开发一个简单的python计算器
    学习PYTHON之路, DAY 8
    学习PYTHON之路, DAY 7
  • 原文地址:https://www.cnblogs.com/yucen/p/9912012.html
Copyright © 2011-2022 走看看