【题解】人工智障

持续更新中

题意

给你一个不含缩写且疑问对象是人称代词的一般疑问句,你的程序需要对该疑问做出肯定的回答,并做出合理的人称转换。

题解

字符串的基本操作

通过空格,截取出字符串的前两段,分别是人称代词和疑问词。

转换

you -> I
I -> you

坑点

并不是所有的are,都要转换为am的。
只有you前的需要转换,they前的不需要转换!

代码

class Solution {
public:
    /**
     * 获得一个一般疑问句的肯定回答
     * @param question string字符串 一个主语为人称代词的问句
     * @return string字符串
     */
    string getReply(string question) {
        // write code here
        stringstream str(question);
        //cout << question << endl;
        string q1, q2;
        str >> q1;
        str >> q2;
        transform(q1.begin(), q1.end(), q1.begin(), ::tolower);
        if (q2 == "you") {
            q2 = "I";
            if (q1 == "are") q1 = "am";
            if (q1 == "were") q1 = "was";
        }
        else if (q2 == "I") {
            q2 = "you";
            if (q1 == "am") q1 = "are";
            if (q1 == "was") q1 = "were";
        } 

        return "Yes, " + q2 + " " + q1 + "!";
    }
};
全部评论

相关推荐

数学转码崽:一直给我推,投了又不理,理了又秒挂
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
02-25 17:03
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务