加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java圆括号翻转字符串

发布时间:2020-12-15 05:05:55 所属栏目:Java 来源:网络整理
导读:如何对字符串进行替换以使“(”变为“)”和“)”成为“(”? 解决方法 使用.replace(),但如果你替换)(然后(和)你将最终得到所有)是很诱人的.相反,迭代字符串并使用stringbuilder来构建字符串. String swapParens(String s) { StringBuilder sb = new StringB
如何对字符串进行替换以使“(”变为“)”和“)”成为“(”?

解决方法

使用.replace(),但如果你替换)(然后(和)你将最终得到所有)是很诱人的.相反,迭代字符串并使用stringbuilder来构建字符串.

String swapParens(String s) {
    StringBuilder sb = new StringBuilder();
    sb.ensureCapacity(s.length()); // preallocate to prevent resizing
    for(int i = 0; i < s.length(); i++) {
        char c = s.charAt(i);
        switch(c) {
            case ')': sb.append('('); break;
            case '(': sb.append(')'); break;
            default: sb.append(c);
        }
    }
    return sb.toString();

}

我知道你可以把一些东西放在那里作为占位符进行交换,但是如果它已经存在于你的字符串中,你就会遇到大问题.

考虑使用“xxx”作为交换字符串.如果你的字符串是“abcx(yz)”,你替换(用xxx,你最终得到“abcxxxyz)”然后你替换)(所以你有“abcxxxxyz(”.然后你替换xxx)所以你有“ abc)xyz(“.当然不酷!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读