leetcode腾讯50题344-577

344. 反转字符串

编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组char[]的形式给出。

不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。

你可以假设数组中的所有字符都是ASCII码表中的可打印字符。

class Solution {

public:

    void reverseString(vector& s) {

        int n=s.size();

        for(int i=0;i

        {

            swap(s[i],s[n-1-i]);

        }

    }

};

557. 反转字符串中的单词 III

给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。   

class Solution {

public:

    string reverseWords(string s) {

        int n=s.length();

        int st=0,ed=0;

        while(ed

        {   

            while(ed

            {

                ed++;

            }

            for(int i=st;i<(st+ed)/2;i++)

            {

                swap(s[i],s[ed-1-i+st]);

            }

            st=ed+1;

            ed+=1;

        }

        return s;

    }

};

你可能感兴趣的:(leetcode腾讯50题344-577)