Leetcode—859.亲密字符串【简单】

2023每日刷题(六十三)

Leetcode---859.亲密字符串

💩山实现代码

cpp 复制代码
class Solution {
public:
    bool buddyStrings(string s, string goal) {
        int len1 = s.size(), len2 = goal.size();
        int cnt = 0;
        int flag = 0;
        int flag2 = 0;
        int odd = -1;
        int a[26] = {0};
        if(len1 != len2) {
            return false;
        }
        for(int i = 0; i < len1; i++) {
            if(s[i] != goal[i]) {
                if(odd != -1 && s[odd] != goal[i] && s[i] != goal[odd]) {
                    return false;
                } 
                if(odd == -1) {
                    odd = i;
                }
                if(s[odd] == goal[i] && s[i] == goal[odd]) {
                    odd = -1;
                }
                cnt++;
            }
            a[s[i] - 'a'] += 1;
            if(a[s[i] - 'a'] >= 2) {
                flag2 = 1;
            }
            if(cnt > 2) {
                return false;
            }
            if(i < len1 && s[i] == s[i + 1]) {
                flag = 1;
            }
        }
        if(cnt == 2 && odd != -1) {
            return false;
        } 
        if(cnt == 2) {
            return true;
        }
        if((flag || flag2)&& cnt == 0) {
            return true;
        }
        return false;
    }
};

运行结果


之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!

相关推荐
闪电麦坤9518 分钟前
数据结构:排序算法的评判标准(Criteria Used For Analysing Sorts)
数据结构·算法·排序算法
爱coding的橙子19 分钟前
每日算法刷题Day65:8.27:leetcode dfs11道题,用时2h30min
算法·leetcode·深度优先
不懂机器人28 分钟前
linux网络编程-----TCP服务端并发模型(epoll)
linux·网络·tcp/ip·算法
Mercury_Lc1 小时前
【链表 - LeetCode】25. K 个一组翻转链表
数据结构·leetcode·链表
地平线开发者1 小时前
理想汽车智驾方案介绍 3|MoE+Sparse Attention 高效结构解析
算法·自动驾驶
好学且牛逼的马2 小时前
golang 10指针
开发语言·c++·golang
小O的算法实验室3 小时前
2025年KBS SCI1区TOP,矩阵差分进化算法+移动网络视觉覆盖无人机轨迹优化,深度解析+性能实测
算法·论文复现·智能算法改进
慕斯-ing3 小时前
SDK、JDK、JRE、JVM的区别
jvm·经验分享·jdk·sdk·jre
艾莉丝努力练剑4 小时前
【C语言16天强化训练】从基础入门到进阶:Day 11
c语言·学习·算法
Pafey5 小时前
【Deepseek】Windows MFC/Win32 常用核心 API 汇总
c++·windows·mfc