[LeetCode]Valid Number

    xiaoxiao2022-06-29  49

    class Solution {

    public:

        bool isNumber(string s) {

            bool is_num = false;

            bool before = false;

            int s_length = s.length();

            int i =0;

            while(i<s_length&&s[i] == ' ') i++;

            if(i<s_length&&(s[i] == '+'||s[i] == '-')){

                i++;

            }

            while(i<s_length&&s[i]>=48&&s[i]<=57) {

                i++;

                is_num = true;

                before = true;

            }

            if(i<s_length&&s[i] == '.'){

                is_num = false;

                i++;

                if(i<s_length&&s[i]>=48&&s[i]<=57){

                    i++;

                    is_num  =true;

                    while(i<s_length&&s[i]>=48&&s[i]<=57) i++;

                }

            }

            if(!before&&!is_num) return is_num;

            is_num = true;

            if(i<s_length&&s[i] == 'e'){

                is_num = false;

                i++;

                if(i<s_length&&(s[i] == '+'||s[i] == '-'))

                    i++;

                if(i<s_length&&s[i]>=48&&s[i]<=57){

                    is_num = true;

                    i++;

                    while(i<s_length&&s[i]>=48&&s[i]<=57) i++;

                }

            }

            while(i<s_length&&s[i] == ' ') i++;

            if(i<s_length) is_num = false;

            return is_num;

        }

    };

    转载请注明原文地址: https://ju.6miu.com/read-1124757.html

    最新回复(0)