You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java如何统计反转后二进制字符串开头的前导零个数

实现统计反转二进制字符串前缀0数量的方案

实现逻辑

  • 从反转后的二进制字符串首字符开始遍历,逐位判断是否为'0'
  • 每匹配到一个前缀'0'就给计数器加1,遇到第一个'1'就终止遍历
  • 特殊边界场景:如果输入值为0,反转后的二进制字符串只有'0',可根据需求自行调整返回规则

修改后的完整代码

import java.util.*;

class Main {
  public static void main(String[] args) {
    int woord = 20;
    String bin = Integer.toBinaryString(woord);
    String test = new StringBuilder(bin).reverse().toString();
    System.out.println("反转后的二进制字符串:" + test);

    // 统计前缀0数量的逻辑
    int leadingZeroCount = 0;
    for (int i = 0; i < test.length(); i++) {
      if (test.charAt(i) == '0') {
        leadingZeroCount++;
      } else {
        break;
      }
    }
    // 可选:处理输入为0的场景,此时整个字符串都是0,根据需求调整
    if (leadingZeroCount == test.length()) {
      // 比如输入是0的情况,可设置leadingZeroCount为0或者保持原值
      leadingZeroCount = 0;
    }
    System.out.println("开头第一个1之前的0的数量:" + leadingZeroCount);
  }
}

运行示例

当输入值为20时,转换得到的原始二进制为10100,反转后为00101,最终统计得到前缀0数量为2,符合需求。


内容的提问来源于stack exchange,提问作者Lucas Winkel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 00:06:05