关于";反向字符串";在leetcode中

About the solution for "reverse-string" in leetcode

本文关键字:quot leetcode 关于 字符串      更新时间:2023-10-16

https://leetcode.com/problems/reverse-string/

这是我的解决方案:

class Solution {
public:
    string reverseString(string s) {
       // if(s.size() == 0 || s.size() == 1)
       //   return s;
        string::size_type  i = 0;
        string::size_type  j = s.size() - 1;
        while (i < j)
        {
            char temp = s[i];
            s[i] = s[j];
            s[j] = temp;
            i++;
            j--;
        }
        return s;
    }
};

但这个解决方案没有通过。当我取消对这两行的注释时:if(s.size() == 0 || s.size() == 1) return s;,代码通过。我很困惑,我认为这两行代码是相等的。

当长度为0时,您可以获得越界访问(j变为一个大数字,因为它是无符号的(。

长度为1的案例应该可以安全地保留评论。