首页 > 其他分享 >151. 反转字符串中的单词 c

151. 反转字符串中的单词 c

时间:2024-02-29 14:14:24浏览次数:27  
标签:151 head int 反转 单词 字符串

现在解决一个中等难度的题得要30min,争取在复试的时候提升到只有15min!!!!

void revesestring(char* s,int head,int tail){
    while(head<=tail){
        char temp=s[head];
        s[head]=s[tail];
        s[tail]=temp;
        head++;
        tail--;
    }
}

char* reverseWords(char* s) {
    int ns=0;
    while(s[ns]!=0){
        ns++;
    }
    char* return_string=(char*)malloc(sizeof(char)*(ns+1));
    for(int i=0;i<=ns;i++) return_string[i]=0;
    int nreturn=0;
    for(int i=0;i<ns;i++){
        if(i==0 && s[i]==' '){
            continue;
        } 
        if(s[i]==' '&& i==ns-1){
            continue;
        }
        if(s[i]==' '&&s[i-1]==' '){
            continue;
        }
        return_string[nreturn++]=s[i];
    }
    if(return_string[nreturn-1]==' ') return_string[--nreturn]=0;
    revesestring(return_string,0,nreturn-1);
    int head=0;
    while(head<nreturn){
        int i=head;
        while(i<nreturn && return_string[i]!=' '){
            i++;
        }
        revesestring(return_string,head,i-1);
        head=i+1;
    }
    return return_string;
}

结果;

标签:151,head,int,反转,单词,字符串
From: https://www.cnblogs.com/llllmz/p/18043592

相关文章

  • PGSQL_数字转换成字符串去尾0
    应用场景当前钢板存储厚度,字段是numeric(20,2)类型;型材存储规格,字段是varchar(50)类型。现在做拼接,若钢板类型就是名称厚度,若型材类型就是名称规格。根据拼接的数据做过滤,即对名称厚度(名称规格)做过滤。实现举例例如表中有两条数据:名称(name)=钢板一号,厚度(thick)=100.0......
  • 541. 反转字符串 II C
    voidreverse_string(char*s,inthead,inttail){while(head<=tail){chart=s[head];s[head]=s[tail];s[tail]=t;head++;tail--;}}char*reverseStr(char*s,intk){intssize=0;while(s[ssize]!=......
  • 简单字符串 学习笔记
    目录字符串哈希字典树字典树的倒序建树KMP正文1.字符串哈希1.1基础可以在数字和字符串之间快速转化。考虑一个哈希函数:\(f(s)=(\sum\limits_{i=0}^{n}s_i\timesbase^{n-i+1})\)。容易发现这些值是唯一的。但是取模时需要选一个较大模数,减少冲突概率。cons......
  • 代码随想录算法训练营day08 | leetcode 344. 反转字符串、541. 反转字符串 II、54. 替
    目录题目链接:344.反转字符串-简单题目链接:541.反转字符串II-简单题目链接:[54.替换数字](题目页面(kamacoder.com))题目链接:151.反转字符串中的单词-中等题目链接:[55.右旋字符串](题目页面(kamacoder.com))题目链接:344.反转字符串-简单题目描述:编写一个函数,其作用是将......
  • delphi Byte 与 字符串(AnsiString、WideString) 相互转换
    Byte与字符串(AnsiString、WideString)相互转换代码String转ByteprocedureTForm1.Button1Click(Sender:TObject);varbuf:TBytes;I:Integer;begin//ANSI编码buf:=BytesOf('测试内容');Memo1.Lines.Add('ANSI编码');forI:=0toLength(buf)......
  • 记录指定英文字母数量的英语单词
    #!/usr/bin/envpython#-*-coding:utf-8-*-"""#File:english-001.py#Time:2024/1/220:37#Author:lrtao2010#version:python3.10.1#Description:记录指定英文字母数量的英语单词"""#导入模块importrequests#下载网页......
  • FastAPI系列:查询字符串参数
    单个查询字符串@app.get('/index/{username}')defindex(username:str,id:int):#id为查询字符串?id=5return{"message":"success","username":username,"id":id}可选的查询字符串参数@app.get('/items/{item_id}......
  • 掌握字符与字符串:C语言中的神奇函数解析(二)
    ✨✨欢迎大家来到贝蒂大讲堂✨✨......
  • 基础字符串算法
    1哈希1.1概念哈希就是构造一个数字使之唯一的代表一个字符串。我们来考虑一下二进制数的转化:$(1001)2=1\times23+0\times22+0\times2^1+1=(9)$现在,我们令$'a'=1,'b'=2,'c'=3\cdots,'z'=26$。然后将进制$p$设为$131$。就能得到:$(abc)p=1\timesp^2+2\timesp+3=(22483......
  • Java基础-String字符串和数组
    1.String基础:字符串是编程时经常用到的一种数据类型。Java中使用String类和StringBuilder类来封装字符串。String类定义不变字符串,StringBuffer类则用于可变字符串处理。换句话说,String类创建的字符串时不会改变的,而StringBuffer类创建的字符串可以修改。字符串的声明与创建:1.......