【每日一题DAY24】LC1704判断字符串的两半是否相似|双指针 模拟

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

判断字符串的两半是否相似【LC1704】


You are given a string s of even length. Split this string into two halves of equal lengths, and let a be the first half and b be the second half.


Two strings are alike if they have the same number of vowels ('a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'). Notice that s contains uppercase and lowercase letters.


Return true if a and b are alike. Otherwise, return false.


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


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


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


1111 怎么在草稿里没有发出去 泪目


  • 思路:使用双指针统计字符串a和字符串b中元音字母的个数,个数相同则返回true


  • 实现


class Solution {
    public boolean halvesAreAlike(String s) {
        int left = 0;
        int right = s.length()-1;
        int a = 0;
        int b = 0;
        while (left < right){
            if (isVowels(s.charAt(left))){
                a++;
            }
            if (isVowels(s.charAt(right))){
                b++;
            }
            left++;
            right--;
        }
        return a == b;
    }
    public boolean isVowels(char c){
        if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u' ){
            return true;
        }
        if (c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U' ){
            return true;
        }
        return false;
    }
}


  • 复杂度


。时间复杂度:O ( n ),n为两个字符串的最大长度

。空间复杂度:O ( 1 )

目录
相关文章
C4.
|
5月前
|
存储 程序员 C语言
C语言中如何通过指针引用字符串
C语言中如何通过指针引用字符串
C4.
61 0
|
5月前
【每日一题Day301】LC2337移动片段得到字符串 | 双指针 计分
【每日一题Day301】LC2337移动片段得到字符串 | 双指针 计分
45 0
|
5月前
【每日一题Day150】LC1616分割两个字符串得到回文串 | 双指针+贪心
【每日一题Day150】LC1616分割两个字符串得到回文串 | 双指针+贪心
35 0
|
5月前
【每日一题Day117】LC1234替换子串得到平衡字符串 | 双指针
【每日一题Day117】LC1234替换子串得到平衡字符串 | 双指针
41 0
|
5月前
|
算法 C语言
通过指针引用字符串
通过指针引用字符串
54 1
|
1月前
|
存储 人工智能 C语言
C语言程序设计核心详解 第八章 指针超详细讲解_指针变量_二维数组指针_指向字符串指针
本文详细讲解了C语言中的指针,包括指针变量的定义与引用、指向数组及字符串的指针变量等。首先介绍了指针变量的基本概念和定义格式,随后通过多个示例展示了如何使用指针变量来操作普通变量、数组和字符串。文章还深入探讨了指向函数的指针变量以及指针数组的概念,并解释了空指针的意义和使用场景。通过丰富的代码示例和图形化展示,帮助读者更好地理解和掌握C语言中的指针知识。
|
5月前
|
存储 C++
C++程序中的字符串与指针
C++程序中的字符串与指针
48 2
|
5月前
|
C语言
C语言指针与字符串
C语言指针与字符串
32 0
|
5月前
|
安全 C语言
指针与字符串:C语言中的深入探索
指针与字符串:C语言中的深入探索
96 0
|
C语言
C语言之字符串的连接使用指针和调用函数两种方法
C语言之字符串的连接使用指针和调用函数两种方法
248 0