关注
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); int n = sc.nextInt(); while ((n--) > 0) {
StringBuffer sb = new StringBuffer(sc.next()); int lenOld = sb.length(); int lenNew = lenOld; for (int i = 1; i < lenOld; i++) { if (Character.isLowerCase(sb.charAt(i - 1)) && Character.isUpperCase(sb.charAt(i))) {
lenNew++; } if (i < lenOld-1 && Character.isLowerCase(sb.charAt(i+1)) && Character.isUpperCase(sb.charAt(i - 1)) && Character.isUpperCase(sb.charAt(i))) {
lenNew++; }
} int indexOld = lenOld - 1; int indexNew = lenNew - 1; sb.setLength(lenNew); for (; indexOld >= 1 && indexOld < lenNew; indexOld--) { if (Character.isLowerCase(sb.charAt(indexOld - 1)) && Character.isUpperCase(sb.charAt(indexOld))) {
sb.setCharAt(indexNew--, sb.charAt(indexOld)); sb.setCharAt(indexNew--, '_'); } else if (indexOld < lenNew - 1 && Character.isLowerCase(sb.charAt(indexOld + 1)) && Character.isUpperCase(sb.charAt(indexOld - 1)) && Character.isUpperCase(sb.charAt(indexOld))) {
sb.setCharAt(indexNew--, sb.charAt(indexOld)); sb.setCharAt(indexNew--, '_'); } else {
sb.setCharAt(indexNew--, sb.charAt(indexOld)); }
}
System.out.println(sb.toString().toLowerCase()); }
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 面试问题记录 #
31088次浏览 506人参与
# 假如我穿越到了妈妈的18岁 #
1547次浏览 27人参与
# 京东TGT #
35013次浏览 157人参与
# 入职第五天,你被拉进了几个工作群 #
14244次浏览 77人参与
# 面试经验谈 #
20226次浏览 319人参与
# 工作一周年分享 #
15209次浏览 101人参与
# 机械人,你的第一份感谢信是谁给的 #
23345次浏览 295人参与
# 对妈妈没说出口的话 #
13178次浏览 329人参与
# 视觉/交互/设计招聘信息汇总 #
10792次浏览 596人参与
# 面试吐槽bot #
5127次浏览 50人参与
# 妈妈治愈了你哪些脆皮时刻 #
5696次浏览 107人参与
# 请用你的专业向妈妈表白 #
4051次浏览 44人参与
# 职场新人生存指南 #
338161次浏览 7243人参与
# 异地恋该为对方跳槽吗 #
26824次浏览 130人参与
# 硬件人更看重稳定还是高薪 #
41803次浏览 213人参与
# 上班苦还是上学苦呢? #
214873次浏览 1288人参与
# 机械求职避坑tips #
42416次浏览 356人参与
# 硬件人秋招的第一个offer #
66996次浏览 1082人参与
# 零跑求职进展汇总 #
2028次浏览 16人参与
# 不考虑转正,实习多久合适 #
25661次浏览 119人参与
# 租房找室友 #
30147次浏览 150人参与