精华内容
下载资源
问答
  • 使用函数atoi https://www.runoob.com/cprogramming/c-function-atoi.html
    展开全文
  • 数字字符串转化为IP地址 Apare

    千次阅读 2020-09-23 07:48:23
    数字字符串转化为IP地址 牛客链接 <– 题目描述 现在有一个只包含数字的字符串,将该字符串转化成IP地址的形式,返回所有可能的情况。 例如: 给出的字符串"25525511135", 返回[“255.255.11.135”, “255.255...

    数字字符串转化为IP地址

    牛客链接 <–


    题目描述

    现在有一个只包含数字的字符串,将该字符串转化成IP地址的形式,返回所有可能的情况。
    例如:
    给出的字符串为"25525511135",
    返回[“255.255.11.135”, “255.255.111.35”]. (顺序没有关系)

    输入:
    “25525511135”

    输出
    [“255.255.11.135”,“255.255.111.35”]

    函数接口规定:

    class Solution {
    public:
        /**
         * 
         * @param s string字符串 
         * @return string字符串vector
         */
        vector<string> restoreIpAddresses(string s) {
        	//write your code here
        }
    };
    

    这个题目之前面试的时候遇到过,还是要考虑一些情况的。首先要dfs,把字符串分隔成4部分,因为IPv4是32位的,用点分十进制分成a.b.c.d的形式,每个十进制数都要在[0,255]的范围内。所以我们dfs的时候,可以先保证每个数的位数在1到3之间。
    dfs出分割后,要判断这个十进制数是否合法。如果是空串一定不行,如果有前导零也不行,大于255也不行。

    class Solution {
    public:
        /**
         * 
         * @param s string字符串 
         * @return string字符串vector
         */
        string tmp;
        int r[4];
        int ok(string s) { //判断十进制串是否合法
        	if(!s.length()) return -1; //空串
        	if((int)s.length()>1 && s[0]=='0') return -1; //有前导零
        	int ans = 0;
        	for(int i=0;i<(int)s.length();++i) {
        		ans = ans * 10 + s[i]-'0';
    		}
    		if(ans>255) ans = -1; 
    		return ans;
    	} 
        string judge() { //判断这种分隔方案是否可行
            string a = tmp.substr(0,r[1]+1);
            string b = tmp.substr(r[1]+1,r[2]-r[1]);
            string c = tmp.substr(r[2]+1,r[3]-r[2]);
            string d = tmp.substr(r[3]+1);
           	string res = "#";
            if(ok(a)!=-1 && ok(b)!=-1 && ok(c)!=-1 && ok(d)!= -1) {
    			res = a+"."+b+"."+c+"."+d; 
    		}
    		return res; 
        }
        void dfs(int x,vector<string>& vans) {
            if(x==4) {
                string res = judge();
                if(res!=string("#")) vans.push_back(res);
                return;
            }
            for(int i=1;i<=3;++i) {
            	if(r[x-1]+i>=(int)tmp.length()) return; //后面的串分配不到字符了
                r[x] = r[x-1]+i;
                dfs(x+1,vans);
            }
        }
        vector<string> restoreIpAddresses(string s) {
            tmp = s;
            vector<string> ans;
            r[0] = -1;
            dfs(1,ans);
            return ans;
        }
    };
    

    用r[]记录每个字符串最后一个元素在原串中的下标。然后对于dfs出的每个方案,判断四个子串的合法性,若合法,就记录。

    展开全文
  • 字符串转化为数字: int my_Atoi(const char*str) { assert(str!=NULL) if(str==NULL) { return NULL; } while(*str==' ') { str++; } if(*str=='+') { str++; } if(*str=='-') { printf("...

    字符串转化为数字:

    int my_Atoi(const char*str)
    {
    	assert(str!=NULL)
    	if(str==NULL)
    	{
    		return NULL;
    	}
    	while(*str=='  ')
    	{
    		str++;
    	}
    	if(*str=='+')
    	{
    		str++;
    	}
    	if(*str=='-')
    	{
    		printf("-");
    		str++;
    	}
    	int num=0;
    	while(isdigit(*str))
    	{
    		num=num*10+(*str-'0');
    		str++;
    	}
    	return num;
    }
    

    数字转化为字符串:

    char*my_itoa(char*str,int num)
    {
    	int i=0;
    	if(num<0)
    	{
    		printf("-");
    		num=-num;
    	}
    	while(num!=0)
    	{
    		str[i]=num%10+'0';
    		num=num/10;
    		i++;
    	}
    	str[i]='\0';
    	i--;
    	char temp;
    	for(int j=0;j<i;j++,i--)
    	{
    		temp=str[i];
    		str[i]=str[j];
    		str[j]=temp;
    	}
    	return str;
    }
    
    展开全文
  • 字符串转化为数字

    千次阅读 2018-07-03 15:42:21
    问题:输入一个整数字符串,字符串转化为整数并输出。思路:需考虑几点:1、输入字符串是否空2、结果是否能被整数表示3、开头字符符号#include &lt;iostream&gt;#include&lt;assert.h&gt;#...

    问题:输入一个整数字符串,把该字符串转化为整数并输出。

    思路:需考虑几点:

    1、输入字符串是否为空

    2、结果是否能被整数表示

    3、开头字符为符号

    #include <iostream>
    #include<assert.h>
    #include<string.h>
    #include<limits.h>

    using namespace std;

    //全局变量用来标记输入的字符串是否可以转化为整数
    enum State {kValid=0,kInvalid};
    int g_state=kValid;

    int strToIntf(const char * a)
    {
        //初始化g_state为kInvalid
        g_state=kInvalid;
        long long num=0;
        //断言a为非空
        if(a!=NULL)
        {
            //cout<<g_state<<endl;
            const char *digit=a;
            bool minus=false;
            //判断符号
            if(*digit=='+')
            {
                digit++;
            }
            else if(*digit=='-')
            {
                digit++;
                minus=true;
            }
            while(*digit!='\0')
            {
                if(*digit>='0' && *digit<='9')
                {
                    //cout<<*digit<<endl;
                    num=10*num+(*digit-'0');
                    //cout<<num<<endl;
                    if(num>INT_MAX||num<INT_MIN)
                    {
                        num=0;
                        break;
                    }
                    digit++;
                }
                else
                {
                    num=0;
                    break;
                }
            }
            if(*digit=='\0')
            {
                g_state=kValid;
                //cout<<a<<endl;
                if(minus)
                    num=0-num;
            }
        }
        return num ;
    }
    int main()
    {
        char s1[100]="";
        char s2[100]="-12345";
        char s3[100]="123456789201234556322";
        char s4[100]="+123";
        char s5[100]="+1=2a3";
        cout<<"INT_MAX:"<<INT_MAX<<endl;
        cout<<"INT_MIN:"<<INT_MIN<<endl;
        cout<<strToIntf(s1)<<endl;
        cout<<strToIntf(s2)<<endl;
        cout<<strToIntf(s3)<<endl;
        cout<<strToIntf(s4)<<endl;
        cout<<strToIntf(s5)<<endl;
        return 0;

    }

    输出结果:

    INT_MAX:2147483647
    INT_MIN:-2147483648
    0
    -12345
    0
    123
    0


    展开全文
  • C++如何把字符串转化为数字

    千次阅读 2020-02-28 08:19:29
    C++使用for循环将字符串转化为数字
  • python中数字列表转化为数字字符串

    千次阅读 2020-09-20 11:35:34
    1. python中数字列表转化为字符串或者一串数字 ...2.python中国把数字列表转化为字符串列表 f=[1,3,4] new=[] #建立空列表 for i in f: q='%d'%i #格式化占位符,如果是数字转字符就用%s占位即可 new.ap...
  • 问题1:将字符串转化为数字 例: 输入字符串如“123456”,将它转化为数字123456并输出。 问题2:看到问题1,想到atoi函数,但是atoi函数还能将 ‘-’ 转化 -。如何定义自己的atoi函数。 例:...
  • 数字字符串转化字母字符串

    千次阅读 2013-10-28 20:00:19
    题目:现有一个数字字符串(全部由...如输入数字字符串“13201”,则输出的结果:“acta”或"mta".设计一个程序,完成该转化功能,根据输入进来的数字字符串,输出其所有可能的字母字符串。(如不能转化,则输出
  • //字符串转换为数字 #include using namespace std; int strtonum(char *p) { int temp=0; int flag=0; if(*p=='-') { p++; flag=1; } while(*p!=0) { temp=temp*10+(*p-'0'); p++; } if(flag) ...
  • STM32将字符串转化为数字

    千次阅读 2017-05-16 10:25:55
    STM32将字符串转化为数字,例如将字符串*str="123";转化实际的10进制数123
  • #include <stdio.h>...设计一个函数,把数字字符串转化成整数 */ int integer(char str[]){ int i,num; num=0; for(i=0;str[i]!='\0';i++){ if(str[i]<='9'&&str[i]>='0') ...
  • 已知:输入一串数字s字符串,假设字符串长度不超过40个字符,数据间用空格隔开,把字符串数字字符转化为对应的数字,每个数字存在一个单向动态链表中的一个节点里,函数原型如下: struct number * create_number_...
  • eval()的功能就是“将任意含有数字字符串转化为有效数字,以便于计算,待转化的字符串应只包含数字” 示例:求语文、数学、英语三门课的平均成绩 name=input("请输入姓名:") chinese=eval(input("语文成绩:")...
  • 牛客地址 递归回溯 import java.util.*;... * @return string字符串ArrayList */ static final int SEG_COUNT = 4; ArrayList<String> res = new ArrayList<>(); int[] segment
  • 字符串转化为数字的python实现

    万次阅读 2015-07-09 19:32:17
    字符串转化为数字的python实现 将字符串转化为数字的python实现,例如将字符串“1234567.8”转化 1234567.8 这也是学习python中的一个简单的练习题
  • 数字字符串转化成 IP 地址

    千次阅读 2020-09-21 11:01:58
    数字字符串转化成 IP 地址 1、参考资料 https://www.nowcoder.com/practice/ce73540d47374dbe85b3125f57727e1e 2、题目要求 题目描述 现在有一个只包含数字的字符串,将该字符串转化成IP地址的形式,返回所有可能...
  • 输入的字符串转换为数字 - (float)Transform:(NSMutableString *)str { int flag = 0, zhen = 1; float sum = 0, temp = 0, t = 0.0; if ([str characterAtIndex:0] == '-') { zhen = 0; } else { temp = (int...
  • 建立一个String_Interator类一个字符串中的数字字符转化为正整数,具体要求如下(1)私有数据成员(2)公有成员函数(3)任务描述 (1)私有数据成员 char* s; 用动态空间存放字符串 (2)公有成员函数 String_...
  • 添加头文件 #include<stdlib.h> 函数有: char *s = "1"; int int_t = 0;...//字符串转化为整形 long_t = atol(s);//字符串转化为长整型 float_t = atof(s);//字符串转化为单精度浮点型 ...
  • 功 能:字符串转换整数 用 法:int atoi(const char *nptr); 详细解释:atoi是英文array to integer 的缩写。atoi()会扫描参数nptr字符串,如果第一个字符不是数字也不是正负号返回零,否则开始做类型转换,...
  • String字符串转化成为数字 java中,String字符串转化为数字的方法有: 1、转化整型数字 (1)Integer.parseInt(String s) ,代码示例如下: public class Test { public static void main(String args[]){ ...
  • python虽然是很动态类型的语言,很好用,但是它还没智能到这个程度,一切字符串都是按照字典顺序进行比较的。
  • Java中单个字符以及字符串转化为数字
  • python将科学计数法型数字字符串转化为数字前言法一法二(刚开始的笨做法) 前言 之前由于需要读取一些数据集里的信息,而这些信息是存txt文件,读取之后是字符串。数据本来全部都是数字。只不过用科学计数法...
  • 字符串转化为数字的函数

    千次阅读 2018-05-04 14:06:02
    C++字符串转化为数字的库函数 1、atoi 功 能:一字符串转换整数 用 法:int atoi(const char *nptr); 详细解释:atoi是英文array to integer 的缩写。atoi()会扫描参数nptr字符串,如果第一个字符不是数字也...
  • 1.计算空格,正负号个数 2.char型的数字----------&gt;... public static int ArraysToNumbers(int []arr,int endsigs){//将整型数组转化为数字并最终输出带有正负号的数 int result=0; ...
  • 现在有一个只包含数字的字符串,将该字符串转化成IP地址的形式,返回所有可能的情况。 例如: 给出的字符串"25525522135", 返回[“255.255.22.135”, “255.255.221.35”]. (顺序没有关系) 示例1 输入 ...
  • 给定程序中,函数fun的功能是:将形参所指字符串中的数字字符转化为对应的数值,计算出这些数值的累加和作为函数返回值。 #define _CRT_SECURE_NO_WARNINGS #include #include #include int fun(char *s) { ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 231,891
精华内容 92,756
关键字:

怎么把数字字符转化为数字