字符串处理002

字符串处理002,第1张

字符串处理002

今天两道题目,思路和方法和昨天的同源采用的还是双指针算法

题目002最长单词

废话不多说直接上代码:

#include 
#include 

using namespace std;

int main()
{
    string str, maxstr;
    getline(cin, str); // 需要读入空格 
    int maxlen = 0;       
    for(int i = 0; i < str.size(); i ++)
    {
        int j = i;
        string word;
        while(j < str.size() && str[j] != ' ' && str[j] != '.') // 过滤掉空格以及字符'.'
        {
            word += str[j];
            j ++;
        }
        if(j - i + 1 > maxlen)
        {
            maxstr = word;
            maxlen = j - i + 1; // 需要注意长度计算
        }
        i = j; // 赋值的时候需要注意
    }
    cout << maxstr << endl;
    return 0;
}
题目003倒排单词


直接上代码:

#include 
#include 

using namespace std;

int main()
{
    string str;
    getline(cin, str); // 读入空格
    for(int i = str.size() - 1; i >= 0; i -- )
    {
        int j = i;
        string word;
        while(j >= 0 && str[j] != ' ')
        {
            word += str[j];
            j --;
        }
        for(int k = word.size() - 1; k >= 0; k --)
            cout << word[k]; // 注意反转
        cout << ' ';
        i = j; // 注意赋值
    }
    return 0;
}

明天会继续学习字符串,明天见。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5711830.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存