持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第5天,点击查看活动详情
比较有退格的字符串具体解释
#1.上具体代码
class Solution
{
public:
bool backspaceCompare(string s, string t)
{
//使用快慢指针来进行解决
string s_fin = "";
string t_fin = "";
s_fin = Fin(s);
t_fin = Fin(t);
if (s_fin != t_fin)
{
return false;
}
return true;
}
string Fin(string s)
{
int slow = 0;
for (int fast = 0; fast < s.size(); fast++)
{
if (s[fast] == '#')
{
if (slow > 0)
slow--;
}
else
s[slow++] = s[fast];
}
return s.substr(0,slow);
}
};
#2.分析核心代码
string Fin(string s)
{
int slow = 0;
for (int fast = 0; fast < s.size(); fast++)
{
if (s[fast] == '#')
{
if (slow > 0)
slow--;
}
else
s[slow++] = s[fast];
}
return s.substr(0,slow);
}
我们来看这段核心的代码,我们不难看出他的思路
我们画图分析
s.substr(0,slow);前闭后开所以最终结果为空,之后的也可以这样理解
\