前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >859. 亲密字符串

859. 亲密字符串

作者头像
祝你万事顺利
发布2019-06-19 18:01:41
4140
发布2019-06-19 18:01:41
举报
文章被收录于专栏:Unity游戏开发Unity游戏开发

给定两个由小写字母构成的字符串 A 和 B ,只要我们可以通过交换 A 中的两个字母得到与 B 相等的结果,就返回 true ;否则返回 false 。

示例 1:

输入: A = "ab", B = "ba" 输出: true 示例 2:

输入: A = "ab", B = "ab" 输出: false 示例 3:

输入: A = "aa", B = "aa" 输出: true 示例 4:

输入: A = "aaaaaaabc", B = "aaaaaaacb" 输出: true 示例 5:

输入: A = "", B = "aa" 输出: false

提示:

0 <= A.length <= 20000 0 <= B.length <= 20000 A 和 B 仅由小写字母构成。

解题思路: 当string中存在两个不同的字母的时候比较这两个字母反转后string A与string B是否相等。当有重复字母的时候进行操作,记录字母出现的次数,当字母出现次数超过两次设置一个flag标志。

代码语言:javascript
复制
public class Solution {
  public bool BuddyStrings(string A, string B)
        {
            bool flag = false;
            int[] n =new int[26];
            if (A.Length == B.Length)
            {
                int count = 0;
                //判断是否可以通过交换两个字母得到相等结果
                int index = -1;
                for (int i = 0; i < A.Length; i++)
                {
                    int bet = A[i] - 'a';
                    n[bet]++;
                    if (n[bet] >= 2)
                    {
                        flag = true;
                    }
                    if (A[i] != B[i])
                    {
                        if (index == -1)
                        {
                            index = i;
                        }
                        if (A[index] == B[i] && A[i] == B[index])
                        {
                            flag = true;
                        }
                        else
                        {
                            flag = false;
                        }
                        count++;
                    }
                }
                if (flag && count <= 2)
                {
                    return true;
                }
            }
            return false;
        }
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.06.19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档