一、题目信息
给你一个字符串bit666keji123,请你返回该字符串中,数字的个数
二、解题思路
数字在字符中,是0-9的字符,如果某个字符处于0-9的区间中,就说明它是一个数字,我们定义一个计数器count,让他++一下,直到遍历完所有字符。
三、实现代码
class Soultion{
public static int countNumber(String str){
//如果str不合法,返回0
if(str.length()==0){
return 0;
}
//用trim方法去除首位的空字符,降低时间,再使用tocharArray方法放到array字符数组中遍历。
char []array= str.trim().toCharArray();
int count=0;
for (char ch:array) {
if(ch<'9'&& ch>'0'){
count++;
}
}
return count;
}
//测试
public static void main(String[] args) {
String s=new String("bit666keji123");
System.out.println(countNumber(s));
//结果打印6
}
}
四、其他题目分享
怎么把i am a student逆置成student a am i?面试题逆置字符串讲解
什么?动态规划10行求出连续子数组的最大和 剑指offer-42讲解
剑指 Offer 39. 数组中出现次数超过一半的数字 简单易懂14行搞定 。人人皆可会
LeetCode 24:两两交换链表中的节点,1662. 检查两个字符串数组是否相等