当前位置: 首页 > news >正文

54.替换数字(字符串/双指针法)

54.替换数字

题目描述

给定一个字符串 s,它包含小写字母和数字字符,请编写一个函数,将字符串中的字母字符保持不变,而将每个数字字符替换为number。 例如,对于输入字符串 “a1b2c3”,函数应该将其转换为 “anumberbnumbercnumber”。

输入描述

输入一个字符串 s,s 仅包含小写字母和数字字符。

输出描述

打印一个新的字符串,其中每个数字字符都被替换为了number

输入示例

a1b2c3

输出示例

anumberbnumbercnumber

提示信息

数据范围:
1 <= s.length < 10000。

解题思路

利用双指针:

代码

解法一(StringBuilder):

importjava.util.*;publicclassMain{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);// 因为java中的String并不能扩充,借助StringBuilder完成字符串操作StringBuildersb=newStringBuilder();Stringinput=sc.nextLine();char[]inputArray=input.toCharArray();for(inti=0;i<inputArray.length;i++){if(inputArray[i]>='0'&&inputArray[i]<='9'){// 遇到数字则替换为numbersb.append("number");}else{sb.append(inputArray[i]);}}System.out.println(sb.toString());sc.close();}}

解法二(双指针法):

importjava.util.*;publicclassMain{publicstaticStringreplaceNumber(Strings){// 转换为字符数组char[]sArray=s.toCharArray();// 为重构字符串输数字个数intcount=0;for(inti=0;i<sArray.length;i++){if(sArray[i]>='0'&&sArray[i]<='9'){count++;}}// 重构字符串数组char[]newArray=newchar[sArray.length+count*5];// 给定右指针rightintright=newArray.length-1;for(intleft=sArray.length-1;left>=0;left--){if(sArray[left]>='0'&&sArray[left]<='9'){// 从后到前填充numbernewArray[right--]='r';newArray[right--]='e';newArray[right--]='b';newArray[right--]='m';newArray[right--]='u';newArray[right--]='n';}else{// 填充原来字母newArray[right--]=sArray[left];}}returnnewString(newArray);}publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);// 读取输入字符串并打印System.out.println(replaceNumber(sc.nextLine()));sc.close();}}
http://www.jsqmd.com/news/604491/

相关文章:

  • 量子门矩阵运算慢如蜗牛,如何用现代C++20 constexpr+模板元编程将单核QVM仿真提速19.3倍?
  • 026 实测|5 款 AI 生成 PPT 工具推荐,新手也能 10 分钟搞定专业汇报 - 品牌测评鉴赏家
  • NaViL-9B效果展示:复杂背景图中多目标识别+关系推理能力演示
  • 2026年SCI论文AI率超标怎么办?3步从60%降到期刊要求以内
  • 2026实测|3款AI生成PPT工具横评,告别熬夜改稿,新手也能直接冲 - 品牌测评鉴赏家
  • 【数据集】A股上市公司深度合成算法业务数据(2001-2024)
  • the-glorious-dotfiles 性能优化技巧:10 个提升桌面响应速度的方法
  • GetQzonehistory:数字记忆守护者的开源解决方案
  • 【等保合集】800余份等保三级、等保2.0、等保二级、等保测评作业指导、全套信息安全管理体系文件、标准规范方案报告合集(PPT+WORD+PDF)
  • 深入理解快速排序:从数组到链表,递归与非递归全解析
  • Golang怎么做连接池优化_Golang连接池优化教程【通俗】
  • 实测6款PPT生成软件|AI博主私藏,新手零门槛,告别熬夜改排版 - 品牌测评鉴赏家
  • 打工人救星!这些PPT美化工具轻松解放双手 - 品牌测评鉴赏家
  • “肇”向西南,“渝”你共赢!“广货行天下・肇庆优品赴渝”重庆专场圆满落幕 - 企业推荐官【官方】
  • 我用AI替换了高级工程师,结果...
  • 实测23款PPT生成软件,2026年最新排名!AI博主亲测,新手零门槛也能快速出片 - 品牌测评鉴赏家
  • 从零配置速腾聚创RS系列雷达:最新驱动安装与lio-sam适配全指南(含ROS1环境搭建)
  • 西安自闭症干预机构参考:守护“星星的孩子”成长 - 品牌测评鉴赏家
  • 2026实用PPT制作网站汇总,新手也能轻松上手 - 品牌测评鉴赏家
  • 2026实测|3款自动生成PPT工具,告别熬夜排版,小白也能出精品 - 品牌测评鉴赏家
  • Java Object 类
  • TMC5160步进电机驱动芯片
  • ESP8266实战指南:用PWM调光控制LED亮度
  • 嘎嘎降AI vs 快降鸭 vs 文必过:3款平价降AI工具谁更值?
  • 从零到一:ESP32-S3构建端侧语音AI助手的全链路实践
  • 自动化测试框架知识
  • 基于A星算法的路径规划平滑优化算法(拐点的圆弧化处理)A星算法+路径优化Matlab实现
  • 杨氏矩阵找第N大(小)的O(N)线性算法 LeetCode 378. Kth Smallest Element in a Sorted Matrix 373. Find K Pairs 钓鱼问题
  • 2026年3月泡棉制造商推荐:行业口碑评价深度分析,有实力的泡棉赋能企业生产效率提升与成本优化 - 品牌推荐师
  • mmap 文件映射 [系统加餐]