• Leetcode1704:判断字符串的两半是否相似


    原文链接:1704. 判断字符串的两半是否相似 - 力扣(LeetCode)


    题目

            给你一个偶数长度的字符串 s 。将其拆分成长度相同的两半,前一半为 a ,后一半为 b 。

            两个字符串 相似 的前提是它们都含有相同数目的元音('a','e','i','o','u','A','E','I','O','U')。注意,s 可能同时含有大写和小写字母。

            如果 a 和 b 相似,返回 true ;否则,返回 false 。

    示例 1:

    输入:s = "book"
    输出:true
    解释:a = "bo" 且 b = "ok" 。a 中有 1 个元音,b 也有 1 个元音。所以,a 和 b 相似。

    示例 2:

    输入:s = "textbook"
    输出:false
    解释:a = "text" 且 b = "book" 。a 中有 1 个元音,b 中有 2 个元音。因此,a 和 b 不相似。
    注意,元音 o 在 b 中出现两次,记为 2 个。

    提示:

    2 <= s.length <= 1000
    s.length 是偶数
    s 由 大写和小写 字母组成

    解题思路
    1、设置两个变量,记录前后半段的原因数
    2、将字符串转为字符数组,然后遍历

    时间:5ms 空间:41.2MB

    代码

    1. class Solution {
    2.     public boolean halvesAreAlike(String s) {
    3.         char[] ch = s.toCharArray();
    4.         int a1 = 0, a2 = 0;//记录元音数
    5.         String str = "aeiouAEIOU";
    6.         for(int i=0;i
    7.             //检查前半段
    8.             if(i2){
    9.                 if(str.contains(ch[i]+"")){
    10.                     a1++;
    11.                 }
    12.             }
    13.             //检查后半段
    14.             else{
    15.                 if(str.contains(ch[i]+"")){
    16.                     a2++;
    17.                 }
    18.             }
    19.         }
    20.         return a1==a2;
    21.     }
    22. }

    稍微优化了一些
    时间:4ms 空间:39.7MB

    1. class Solution {
    2.     public boolean halvesAreAlike(String s) {
    3.         char[] ch = s.toCharArray();
    4.         int a1 = 0, a2 = 0;//记录元音数
    5.         Set set = Set.of('A','E','I','O','U','a','e','i','o','u');
    6.         for(int i=0;i
    7.             if(set.contains(ch[i])){
    8.                 if(i2) a1++;
    9.                 else a2++;
    10.             }
    11.         }
    12.         return a1==a2;
    13.     }
    14. }
  • 相关阅读:
    JavaEE 网络原理——TCP的工作机制(初篇 包含 UDP 协议的再次阐述)
    线性回归详解(代码实现+理论证明)
    net中c#教程 network的常用操作,包括上传、下载
    FPGA CFGBVS 管脚接法
    C++变量声明和变量定义
    白帽SEO与黑帽SEO的区别
    说一说:ThreadLocal 、CallContext 、AsyncLocal
    百果园再冲刺港交所上市:扩张靠加盟和放贷,余惠勇夫妇为实控人
    IO进线程:信号灯
    GitHub上的开源工业软件
  • 原文地址:https://blog.csdn.net/qq_52726736/article/details/127824243