前言
在字符串的题目中,经常要判断剩下的字符是不是符合某些条件。以前是用while循环一个个判断。
今天学习一个神器:
std::all_of, std::any_of, std::none_of
此三个函数在algorithm的头文件
#include <algorithm> // std::all_of, std::any_of, std::none_of
std::all_of
参数说明:(iterator begin, iterator end, condition)
前两个参数是范围, 最后一个是lamda表达式,可以放一个返回bool值的函数
例子
//判断string是不是全部是digit
string s("$1234")
bool flag = all_of(s.begin(), s.end(), ::isdigit) ;
cout << flag;
std::any_of
用法跟all_of类似,用于判断是不是存在某个条件符合
std::none_of
用法跟all_of类似,用于判断所有元素都不符合某条件
例题
力扣2288 价格减免
大佬请见笑