mengqingfeiaijia 2011-12-07 14:46
浏览 277
已采纳

一道面试题!!求解

一个8位的字符串例如:abcdefgh, 截取他末尾成对出现的0,例如

10000000 截取后的结果:10

12345600 截取后的结果:123456

12340000 截取后的结果是:1234

10000001:则不做截取操作

10101010:则不做截取操作
问题补充

litianyu0815 写道
litianyu0815 写道
public static void main(String[] args) {
        // TODO Auto-generated method stub
        String str = "1234570000";
        String str1 = "12340001";
        String str2 = "12342000";
        System.out.println(subDoubleZero(str));
        System.out.println(subDoubleZero(str1));
        System.out.println(subDoubleZero(str2));

    }

    public static String subDoubleZero(String str) {
        for (int i = str.length() - 1; i > 0; i--) {
            char c1 = str.charAt(i - 1);
            char c2 = str.charAt(i);
            if (c1 == '0' && c2 == '0') {
                String testStr = str.substring(0, i - 1);
                return subDoubleZero(testStr);
            }
            return str;
        }
        return str;
    }


我做的很粗糙,不过应该能帮助你。


真是太感谢你了!!

  • 写回答

18条回答 默认 最新

  • zkl_1987 2011-12-07 14:46
    关注

    [quote="kidneyball"][code="java"]
    s = s.replaceAll("(00)*$","");
    [/code][/quote]

    貌似没做到楼主的要求嘛

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(17条)

报告相同问题?