zoukankan      html  css  js  c++  java
  • [leetcode]Add Binary

    不要忘记在最后append进位的1,如果有的话;
    一开始用while写的很快,忘记了i++,死循环了;
    a+b的情况下,忘记了-'0'两次;
    还有是要a.charAt(lenA-i-1),一开始用a.charAt(i)了,脑子一乱忘记了0是最左边的;

    public class Solution {
        public String addBinary(String a, String b) {
            int carrior = 0;
    		ArrayList<Character> list = new ArrayList<Character>();
            int lenA = a.length();
            int lenB = b.length();
    		for (int i = 0; i < lenA || i < lenB; i++)
    		{
    			if (i >= lenA)
    			{
    				int r = carrior + b.charAt(lenB-i-1) - '0';
    				carrior = r / 2;
    				r = r % 2;
    				list.add((char)(r + '0'));
    			}
    			else if (i >= lenB)
    			{
    				int r = carrior + a.charAt(lenA-i-1) - '0';
    				carrior = r / 2;
    				r = r % 2;
    				list.add((char)(r + '0'));
    			}
    			else
    			{
    				int r = carrior + a.charAt(lenA-i-1) + b.charAt(lenB-i-1) - '0' - '0';
    				carrior = r / 2;
    				r = r % 2;
    				list.add((char)(r + '0'));
    			}
    		}
    		if (carrior != 0) list.add((char)(carrior + '0'));
    		StringBuffer sb = new StringBuffer();
    		for (int j = list.size() - 1; j >= 0; j--)
    		{
    			sb.append(list.get(j));
    		}
    		return sb.toString();
        }
    }
    

      

  • 相关阅读:
    HTML5 跨文档消息传输
    Cordova 本地项目创建方法
    远程登录协议
    Linux mii-tool命令
    Linux ethtool命令
    Linux内核阅读相关
    C语言介绍
    Proc-fs 编程
    Linux syslog介绍
    Mpich编程
  • 原文地址:https://www.cnblogs.com/lautsie/p/3309742.html
Copyright © 2011-2022 走看看