题解 | #牛群密码 - 有效回文#
牛群密码 - 有效回文
https://www.nowcoder.com/practice/98fad63b47544d5ebf4042fc53b54b3d
考察的知识点:字符串;
解答方法分析:
- 使用双指针的方法,从字符串的两端开始比较字符。
- 如果两个字符相等,则继续比较下一个字符;
- 如果两个字符不相等,则删除其中一个字符,继续比较下一个字符。
所用编程语言:C++;
完整编程代码:↓
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param password string字符串 * @param k int整型 * @return bool布尔型 */ bool isValidPalindrome(string password, int k) { int left = 0; int right = password.length() - 1; int count = 0; while (left < right) { if (password[left] == password[right]) { left++; right--; } else { count++; if (count > k) { return false; } if (password[left + 1] == password[right]) { left++; } else if (password[left] == password[right - 1]) { right--; } else { return false; } } } return true; } };