python編程題-句子的逆序

對於一個字符串,請設計一個算法,只在字符串的單詞間作逆序調整,也就是說,字符串由一些由空格分隔的部分組成,你須要將這些部分逆序。python


給定一個原字符串A和他的長度,請返回逆序後的字符串。算法


測試樣例:app

"dog loves pig",13ide

返回:"pig loves dog"測試


python實現設計

class Reverse:
    def reverseSentence(self, A, n):
        # write code here
        Alist = list(A)
        Alist.append(' ')
        res = []
        tmpstr = ""
        for i in xrange(len(Alist)):
            if Alist[i]!=' ':               #不是空格,字符串累加
                tmpstr = tmpstr + Alist[i]
            else:
                if Alist[i]==' ':           #是空格,將字符串放入list
                    res.append(tmpstr)
                    tmpstr = ""
        res.reverse()                       #總體反轉
        return ' '.join(res)


def main():
    A="dog loves pig"
    t = Reverse()
    print t.reverseSentence(A, len(A))



if __name__ == "__main__":
    main()


C++實現code

class Reverse {
public:
    string reverseSentence(string A, int n) {
        // write code here
        vector<string> sv(1);
        int tag = 0;
        for (int i = 0; i < A.length(); ++i)
        {
            if (A[i] == ' ')
            {
                tag++;
                sv.resize(tag+1);
                continue;
            }
            sv[tag] = sv[tag] + A[i];
 
        }
        reverse(sv.begin(),sv.end());
        A.clear();
        for (int i = 0; i < sv.size();i++)
        {
            //cout << sv[i] << " ";
            if (i != sv.size()-1)
                A = A + sv[i] + " ";
            else
                A = A + sv[i];
        }
        return A;
    }
};
相關文章
相關標籤/搜索