• 一道字符串题目


    输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student. ",则输出"student. a am I"。

    示例 1:

    输入: "the sky is blue"

    输出: "blue is sky the"

    示例 2:

    输入: "  hello world!  "

    输出: "world! hello"

    解释: 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。

    示例 3:

    输入: "a good   example"

    输出: "example good a"

    解释: 如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。

    说明:

    无空格字符构成一个单词。

    输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。

    如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。

    class Solution {
    public:
        string reverseWords(string s) {
            string tmp;
            string last;
            string empty_k = " ";
            int n;
            if(s.empty()){return s;}
            for (int i = 0; i <= s.length();i++)
            {
                if(s[i] != ' ' && s[i] != '')    
                {
                    tmp += s[i];
                }
                else
                {
                    last.insert(0,empty_k);
                    last.insert(0,tmp);
                    tmp.clear();
                }
            }
            //去除行中重复
            for (int i = 0; i != last.size();i++)
            {
                if(i == -1) {i = 0;}
                if(last[i] == ' ' && last [i + 1] == ' ')
                {
                    last.erase(i+1,1);
                    i = i - 2;
                }
            }
            //去除首位重复
            while(last[0] == ' ')
            {
                last.erase(0,1);
            }
            n = last.size() - 1;
            while(last[n] == ' ')
            {
                last.erase(n,1);
                n = last.size() - 1;
            }
            return last;
        }
    };
    class Solution {
    public:
        string reverseWords(string s) {
            string tmp;
            string last;
            string empty_k = " ";
            int n;
            if(s.empty()){return s;}
            for (int i = 0; i <= s.length();i++)
            {
                if(s[i] != ' ' && s[i] != '0'
                {
                    tmp += s[i];
                }
                else
                {
                    last.insert(0,empty_k);
                    last.insert(0,tmp);
                    tmp.clear();
                }
            }
            //去除行中重复
            for (int i = 0; i != last.size();i++)
            {
                if(i == -1) {i = 0;}
                if(last[i] == ' ' && last [i + 1] == ' ')
                {
                    last.erase(i+1,1);
                    i = i - 2;
                }
            }
            //去除首位重复
            while(last[0] == ' ')
            {
                last.erase(0,1);
            }
            n = last.size() - 1;
            while(last[n] == ' ')
            {
                last.erase(n,1);
                n = last.size() - 1;
            }
            return last;
        }
    };
  • 相关阅读:
    每日练习
    AttributeError: module 'torch.jit' has no attribute 'get_trace_graph
    2020.3-SEAN: Image Synthesis with Semantic Region-Adaptive Normalization
    2019-11-DHAN~Towards Ghost-free Shadow Removal via Dual Hierarchical Aggregation Network and Shadow Matting GAN
    2020.2-DMFN-Image Fine-grained Inpainting
    Face completion with Hybrid Dilated Convolution
    FCSR-GAN: Joint Face Completion and Super-resolution via Multi-task Learning
    Joint Face Completion and Super-resolution using Multi-scale Feature Relation Learning
    浮点数转化为字符串
    Sublime Text2使用技巧
  • 原文地址:https://www.cnblogs.com/qifeng1024/p/12878367.html
Copyright © 2020-2023  润新知