牛客巅峰赛S2青铜组题解Java版本

牛客巅峰赛S2青铜组题解Java版本

3.

打表找规律,求字符串的二进制是否全是'1',循环除2取余,如果余数为0则为偶数返回false。

public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     * 
     * @param n string字符串 三角形的长和高
     * @return bool布尔型
     */
    public boolean judge (String n) {
        // write code here
        int len = n.length();
        if(((n.charAt(len - 1) - '0')&1)==0){return false;}
        String[] newN = {n};
        while(!newN[0].equals("0")){
            boolean isRestOne = div(newN[0], newN);
            if(!isRestOne){return false;}
        }
        return true;
    }

    private boolean div(String n, String[] newN){
        if(n.equals("1")){newN[0]="0";return true;}
        char[] chs = n.toCharArray();
        int len = chs.length;
        int rest = 0;
        StringBuilder sber = new StringBuilder();
        for(int i = 0; i < len; ++i){
            rest = rest * 10 + chs[i] - '0';
            int diver = rest / 2;
            rest = rest % 2;
            sber.append(diver);
        }
        // System.out.println(n);
        if(sber.charAt(0) == '0'){
            newN[0] = sber.substring(1, sber.length());
        }else{
            newN[0] = sber.toString();
        }
        if(rest == 0){return false;}
        else{return true;}
    }
}
#笔试题目#
全部评论
🤣自顶向下
1
送花
回复 分享
发布于 2020-12-16 10:40
🤣自顶向下🤣自顶向下
1
送花
回复 分享
发布于 2020-12-16 10:40
神州信息
校招火热招聘中
官网直投
🤣自顶向下🤣自顶向下🤣自顶向下
1
送花
回复 分享
发布于 2020-12-16 10:40
🤣自顶向下🤣自顶向下🤣自顶向下🤣自顶向下
1
送花
回复 分享
发布于 2020-12-16 10:41
🤣自顶向下🤣自顶向下🤣自顶向下🤣自顶向下🤣自顶向下
1
送花
回复 分享
发布于 2020-12-16 10:41

相关推荐

2 1 评论
分享
牛客网
牛客企业服务