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

307.重新格式化电话号码

1694. 重新格式化电话号码 - 力扣(LeetCode)

class Solution {public String reformatNumber(String number) {StringBuffer sb=new StringBuffer();int count=0;for(int i=0;i<number.length();i++){if(Character.isDigit(number.charAt(i))){sb.append(number.charAt(i));count++;}if(count==3){sb.append('-');count=0;}}int le=sb.length();if(le%4==0){sb.delete(le-1,le);}else if(le%4==1){sb.delete(le-2,le-1);sb.insert(le-3,'-');}return sb.toString();}
}
class Solution:def reformatNumber(self, number):# 使用列表来高效地构建字符串sb = []count = 0  # 用于跟踪当前数字的数量# 遍历输入字符串中的每个字符for i in range(len(number)):if number[i].isdigit():sb.append(number[i])  # 如果是数字,添加到列表中count += 1if count == 3:  # 每三个数字后添加一个连字符sb.append('-')count = 0  # 重置计数器le = len(sb)  # 获取列表的长度# 根据列表的长度调整格式if le % 4 == 0:# 如果长度是4的倍数,删除最后一个连字符del sb[-1]elif le % 4 == 1:# 如果长度模4余1,调整格式del sb[-2]  # 删除倒数第二个字符sb.insert(le - 3, '-')  # 在合适的位置插入连字符# 将列表转换为字符串并返回return ''.join(sb)

http://www.xdnf.cn/news/4768.html

相关文章:

  • MySQL中MVCC的实现原理
  • WarpDemuX
  • AI开发跃迁指南(第三章:第四维度1——Milvus、weaviate、redis等向量数据库介绍及对比选型)
  • docker镜像误删恢复
  • 网络字节序 - 大端
  • 三格电子—ProfiNet 转 CAN/CANopen 网关应用案例
  • pygame联网飞机大战游戏实现
  • Ubuntu18.04 设置开机服务自启
  • 蓝桥杯FPGA赛道积分赛
  • 【愚公系列】《Manus极简入门》026-市场分析专家:“市场洞察家”
  • Centos系统详解架构详解
  • 深度学习工程化:基于TensorFlow的模型部署全流程详解
  • 力扣刷题Day 42:缺失的第一个正数(238)
  • Linux防火墙
  • DVWA保姆级通关教程--05文件上传
  • LeetCode 热题 100 131. 分割回文串
  • 对 Kotlin 中的 data 关键字的理解,相比于普通类有哪些特点?
  • 在浏览器使用 MCP,纯边缘函数实现 MCP Client Server
  • 软考错题(三)
  • JavaSE核心知识点02面向对象编程02-01(类与对象)
  • Ubuntu 安装 Nginx
  • networkmanager 和 resolv.conf 可能有覆盖需要配置DNS
  • OpenHarmony平台驱动开发(八),MIPI CSI
  • 旧版 Flutter 写的项目, 想要在新的环境上运行?
  • Kotlin 遍历
  • Spring普通配置类 vs 自动配置类-笔记
  • USRP B210 TX_IQ处理
  • Ceph PG unfound/lost 问题排查与解决
  • 记录Token反序列化OAuth2Authentication(主要是直接存储用户信息的UserDetails )
  • [matlab]private和+等特殊目录在新版本matlab中不允许添加搜索路径解决方法