【C++】快速判断元音字母,让代码不在繁琐!!

目录

一、前言

二、判断字符是否为元音字母 

✨ 繁琐的方法 

✨ 神奇又快速的方法

 三、常考面试题

 四、共勉


一、前言

      大家有没有发现,我们在做算法题的时候,经常会碰到让我们判断一个字母是否为 元音字母,可是用通常的 if 条件判断 要繁琐了,于是我就在想,在 【C++】 中有没有内置的函数(类似isalpha()isdigit()isalnum())能直接完成这个功能,但是函数没发现,却发现更加新颖的方法,让我们的代码更加简洁,来看一下吧!

二、判断字符是否为元音字母 

✨ 繁琐的方法 

int main(){char ch = 'a';if ((ch == 'A') || (ch == 'E') || (ch == 'I') || (ch == 'O') || (ch == 'U') || (ch == 'a') ||(ch == 'e') || (ch == 'i') || (ch == 'o') || (ch == 'u')){cout << "YES" << endl;}else{cout << "NO" << endl;}return 0;}

      这几句话太长了,太jb复杂了,一会儿等号,一会儿单引号,一会儿竖线分隔符,敲一遍要好几十秒。频繁使用为了避免函数调用加快执行速度是可以这样写的,但是如果我对速度没有那么高的要求呢,怎么写得简单一点呢? 

 ✨ 神奇又快速的方法

int main(){char ch = 'a';string vowel = "aeiouAEIOU";if (vowel.find(ch) == -1){cout << "NO" << endl;}else{cout << "YES" << endl;}return 0;}

可以发现这次的代码 更加的简洁和方便 ,直接调用 find() 函数去寻找即可。

 三、常考面试题

题目:反转字符串中的元音字母

链接: 反转字符串中的元音字母

class Solution {
public:string reverseVowels(string s) {string vowels = "aeiouAEIOU";int begin = 0, end = s.size()-1;while(begin<end){while(begin<end && vowels.find(s[begin])==-1){begin++;}while(begin<end && vowels.find(s[end])==-1){end--;}if(begin<end){swap(s[begin++],s[end--]);}}return s;}
};

 四、共勉

 以下就是我对 快速判断元音字母 的理解,如果有不懂和发现问题的小伙伴,请在评论区说出来哦,同时我还会继续更新对C++  vector 类的理解,请持续关注我哦!!!    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/777135.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Pytorch:torch.stack 和 torch.as_tensor

torch.stack 和 torch.as_tensor 是 PyTorch 中的两个函数&#xff0c;它们用于处理 tensor 的创建和操作&#xff0c;但它们各自的用途和功能是不同的。 torch.stack torch.stack&#xff1a;这个函数用于将一系列的 tensors 沿着一个新的维度合并。所有 tensors 必须有相同…

centos7 装 docker-ce

安装必要的系统工具&#xff1a; sudo yum install -y yum-utils device-mapper-persistent-data lvm2 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 命令会以超级用户的身份安装三个软件包&#xff1a;yum-utils&#xff0c;device-mapper-persistent-…

Linux线程互斥

1.用线程封装代码测试通过现象引出线程互斥 1.1代码测试 Thread.hpp #pragma once #include<iostream> #include<string> #include<functional> #include<pthread.h> template<class T> using func_t std::function<void(T)>;template…

Java 实现缓存的三种方式

Java 实现缓存的三种方式 文章目录 Java 实现缓存的三种方式一、HashMap实现缓存Step-1&#xff1a;实现一个缓存管理类Step-2&#xff1a;将缓存管理类交给 Spring 进行管理Step-3&#xff1a;编写接口测试缓存Step-4&#xff1a;结果展示 二、guava local cache 实现Step-1&a…

为什么Python不适合写游戏?

知乎上有热门个问题&#xff1a;Python 能写游戏吗&#xff1f;有没有什么开源项目&#xff1f; Python可以开发游戏&#xff0c;但不是好的选择 Python作为脚本语言&#xff0c;一般很少用来开发游戏&#xff0c;但也有不少大型游戏有Python的身影&#xff0c;比如&#xff1…

【Linux】详解进程程序替换

一、替换原理 用fork创建子进程后执行的是和父进程相同的程序(但有可能执行不同的代码分支)&#xff0c;子进程往往要调用一种exec函数以执行另一个程序。当进程调用一种exec函数时&#xff0c;该进程的用户空间代码和数据完全被新程序替换&#xff0c;从新程序的启动例程开始执…

Mysql数据库——高级SQL语句补充

目录 一、子查询——Subquery 1.环境准备 2.In——查询已知的值的数据记录 2.1子查询——Insert 2.2子查询——Update 2.3子查询——Delete 3.Not In——表示否定&#xff0c;不在子查询的结果集里 3.Exists——判断查询结果集是否为空 4.子查询——别名 二、视图—…

Channel 阻塞机制、死锁问题

Channel 阻塞机制 在Go语言中&#xff0c;channel是用于在不同的goroutine之间进行通信的主要机制。channel的阻塞机制确保了数据的同步传输&#xff0c;这意味着在某些情况下&#xff0c;操作channel的goroutine可能会被挂起&#xff08;阻塞&#xff09;&#xff0c;直到另一…

C 传递数组给函数

如果您想要在函数中传递一个一维数组作为参数&#xff0c;您必须以下面三种方式来声明函数形式参数&#xff0c;这三种声明方式的结果是一样的&#xff0c;因为每种方式都会告诉编译器将要接收一个整型指针。同样地&#xff0c;您也可以传递一个多维数组作为形式参数。 方式 1…

PointNet++点云处理原理

PointNet点云处理原理 借鉴了多层神经网络的思想 pointnet要么是一个点&#xff0c;要么是所有点进行操作&#xff0c;就不会有局部上下文信息 pointnet基本思想是迭代地应用到局部区域 1.多级别特征学习 2.旋转不变性 3.置换不变性 选取中心点centroid&#xff0c;通过poi…

《c++》纯虚函数和抽象类

在C中&#xff0c;纯虚函数和抽象类是面向对象编程中的重要概念&#xff0c;用于实现多态性和接口定义 1.纯虚函数&#xff08;Pure Virtual Function&#xff09;&#xff1a; 纯虚函数是在基类中声明的虚函数&#xff0c;但没有提供实现。它们以关键字声明&#xff0c;并在函…

jconsole jvisualvm

jconsole 打开方式 命令行输入 jconsole双击想要连接的应用 界面展示 jvisualvm 打开方式 命令行输入 jvisualvm双击想要连接的应用 可以安装插件&#xff0c;比如 Visual GC 直观看到 GC 过程

在CentOS7上部署Nginx并测试指南

Nginx部署测试 Nginx简介 Nginx是俄罗斯人Igor Sysoev编写的一款高性能的HTTP和反向代理服务器。 Nginx选择了epoll和kqueue作为网络I/O模型&#xff0c;在高连接并发的情况下&#xff0c;内存、CPU等系统资源消耗非常低&#xff0c;运行稳定。 正向代理与反向代理 正向代…

Java学习记录第十三天

面向对象编程 核心思想就是OOP&#xff08;面向对象编程&#xff09; 面向过程&面向对象 面向过程思想 步骤清晰简单&#xff0c;第一步做什么&#xff0c;第二步做什么... 面对过程适合处理一些较为简单的问题 面向对象思想 物以类聚&#xff0c;分类的思维模式&…

Redis慢日志!!!

用途&#xff1a;系统优化&#xff0c;将执行较慢的sql记录下来&#xff0c;然后对其进行优化。 1.慢查询日志的两个配置项 slowlog-log-slower-than Redis 慢查询日志的时间阈值&#xff0c;单位微妙。 1) 值为正数&#xff0c;执行时间大于该值设置的微秒时才记录到慢日志中…

电源噪声的起因及危害

对造成电源不稳定的根源进行简单分析如下,主要在于两个方面:一是器件高速开关状态下,瞬态的交变电流过大;二是电流回路上存在的电感。从表现形式上来看又可以分为三类:同步开关噪声(SSN),有时被称为Δi噪声,地弹(Ground bounce)现象也可归于此类(图1-a);非理想电…

2024.3.21 QT

QT登录界面设计&#xff1a; //头文件 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QMovie>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTpublic:Widget(QWidget *parent nu…

Qt——Qt文本读写之QFile与QTextStream的使用总结(打开文本文件,修改内容后保存至该文件中)

【系列专栏】:博主结合工作实践输出的,解决实际问题的专栏,朋友们看过来! 《项目案例分享》 《极客DIY开源分享》 《嵌入式通用开发实战》 《C++语言开发基础总结》 《从0到1学习嵌入式Linux开发》 《QT开发实战》 《Android开发实战》

【AI】安装web UI时总是报找不到yaml

【背景】 text generation web ui是为本地hosting提供AI服务而出现的前端框架&#xff0c;后端可以自由下载hugging face上的model&#xff0c;load后就可以直接在Web UI上访问。这个服务可以自由架构在局域网上供内网用户访问。 我觉得挺满足自己需要&#xff0c;就在windows…

Linux manim安装

简介 根据文档可知, manim目前分为两个版本, 一个是由3Blue1Brown维护更新的最新版本的manimgl, 另一个是稳定的社区版本manim or manimce. 两个版本在安装和使用上都有些不同, 不要搞混. Linux manim ERROR No package ‘pangocairo’ found Getting requirements to buil…