gpt4 book ai didi

c++ - 反向C++ vector

转载 作者:行者123 更新时间:2023-12-02 10:09:19 25 4
gpt4 key购买 nike

我在C++中并不出色。问题是一个简单的反向字符串。这是一个Leetcode问题,我正在尝试递归解决。

void reverse_str(vector<char>& s, int len)
{
if (len <= 1) return;

swap(s[0], s[len-1]);
reverse_str(s.front(), len-2); // Compilation error when I call s.front()
}

void reverseString(vector<char>& s)
{
reverse_str(s, s.size());
}
我正在尝试使用对 vector 中第二个元素的引用来递归调用reverse_str。我怎么做?
先感谢您。

最佳答案

你可以这样

void reverse_str(vector<char>& s, int len = 0) // default params with zero
{
int n = s.size();
if (len == n / 2)
return;
// swap last with first upto n/2
swap(s[len ], s[n - len - 1]);
reverse_str(s, len + 1);
}

void reverseString(vector<char>& s)
{
reverse_str(s);
}

关于c++ - 反向C++ vector <char>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64270697/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com