当前位置:网站首页>牛客网:判断是否为回文字符串

牛客网:判断是否为回文字符串

2022-06-22 17:30:00 lsgoose

这里用两种方法来解决

目录

1.双指针

2.栈(翻转) 


1.双指针

我们可以两头往中间或者中间往两边,总之都是利用了这个对称的结构

代码如下所示:

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     * 
     * @param str string字符串 待判断的字符串
     * @return bool布尔型
     */
    bool judge(string str) {
        // write code here
        int left=0;
        int right=str.length()-1;
        while(left<right){
            if(str[left]!=str[right]){
                return false;
            }
            left++;
            right--;
        }
        return true;
    }
};

2.栈(翻转)

如果利用栈的思想就是翻转一下字符串即可。然后用这个字符串和原字符串相比是否有不同之处。

代码如下所示:

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     * 
     * @param str string字符串 待判断的字符串
     * @return bool布尔型
     */
    bool judge(string str) {
        // write code here
        string tmp=str;
        reverse(tmp.begin(), tmp.end());
        if(tmp!=str){
            return false;
        }
        return true;
    }
};

原网站

版权声明
本文为[lsgoose]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_46266058/article/details/125392598