【发布时间】:2021-09-24 21:12:54
【问题描述】:
我在 leetcode 上解决了这个问题 -
编写一个反转字符串的函数。输入字符串为 一个字符数组。
示例 1:
输入:s = ["h","e","l","l","o"] 输出:["o","l","l","e","h" ] 例子 2:
输入:s = ["H","a","n","n","a","h"] 输出:["h","a","n","n" ,"a","H"]
我写了这个解决方案,它给出了一个运行时错误:添加无符号偏移
class Solution {
public:
void funToReverse(int left,int right,vector<char> &s){
if(left==right)
return;
else{
char temp = s[left];
s[left]=s[right];
s[right]=temp;
funToReverse(left+1,right-1,s);
}
}
void reverseString(vector<char>& s) {
int left =0;
int right = s.size()-1;
funToReverse(left,right,s);
}
};
错误:
第 1034 行:字符 34:运行时错误:将无符号偏移量添加到 0x6020000001b0 溢出到 0x6020000001af (stl_vector.h) 摘要: UndefinedBehaviorSanitizer:未定义行为 /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_vector.h:1043:34
【问题讨论】:
标签: c++ string function runtime-error