gpt4 book ai didi

c++ - 使用指针遍历检查字符串是否重复

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:30:24 25 4
gpt4 key购买 nike

bool repeat_char(char *s, int n);
//R: s is a C-string of at least n non-NUL characters and n > 0
//E: returns true if the first n characters are fully repeated throughout the string s, false
// otherwise.

我在使用指针遍历实现这个函数时遇到了问题。我在想我可以从 s 中提取前 n 个字符,然后将其用于与 s 的比较,但我不确定我该怎么做。如果我一次遍历 s 一个字符,我如何检查它是否匹配一段文本,例如 s 的前 n 个字符?

谢谢!

最佳答案

您实际上一次只能比较一个字符,因此您从 ss+n 开始,然后比较一个字符。如果它们匹配,则将 s+1 处的字符与 s+n+1 处的字符进行比较。如果它们匹配,则转到 s+2,依此类推直到 n。如果它们匹配到那个点,则从 s+n*2 开始重复,然后是 s+n*3,依此类推,直到到达字符串的末尾。

如果发现不匹配,或者到达字符串末尾但不匹配子字符串的最后一个字符,则返回 false。否则,您返回 true。

关于c++ - 使用指针遍历检查字符串是否重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13042895/

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