美文网首页
859. 亲密字符串

859. 亲密字符串

作者: 祝你万事顺利 | 来源:发表于2019-06-19 13:02 被阅读0次

给定两个由小写字母构成的字符串 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标志。

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;
        }
}

相关文章

  • 859. 亲密字符串

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

  • 859. 亲密字符串

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

  • 859. 亲密字符串(Python)

    题目 难度:★★☆☆☆类型:字符串 给定两个由小写字母构成的字符串 A 和 B ,只要我们可以通过交换 A 中的两...

  • 教3妹学编程-859. 亲密字符串

    2哥:3妹,别看肥皂剧了,今天我们来做一个算法题。 3妹关掉了电视,高兴的跑过来。3妹:好呀好呀,java的数据结...

  • 亲密字符串

    在leetCode上看到亲密字符串,接下来对这个词进一步的了解,从而写下了这篇笔记。 亲密字符串 给定两个由小写字...

  • 亲密字符串

    亲密字符串 给定两个由小写字母构成的字符串 A 和 B ,只要我们可以通过交换 A 中的两个字母得到与 B 相等的...

  • 亲密字符串

    来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/buddy-...

  • [Java] LeetCode 859. Buddy Strin

    Description Given two strings A and B of lowercase letter...

  • JS 笔试题 —— 亲密字符串

    题目: 给你两个字符串 s 和 goal ,只要我们可以通过交换 s 中的两个字母得到与 goal 相等的结果,就...

  • 2021-11-23 859 亲密字符串

    思路的话分两种情况:1.当两个字符串相同时,直接确定单个字符串如s上是否有相同的两个字符,这是由于相同的时候单字符...

网友评论

      本文标题:859. 亲密字符串

      本文链接:https://www.haomeiwen.com/subject/klnhqctx.html