首页 > 其他 > 详细

LeetCode 66 _ One Plus 加一 (Easy)

时间:2019-04-07 20:02:26      阅读:105      评论:0      收藏:0      [点我收藏+]

Description:

Given two binary strings, return their sum (also a binary string).

The input strings are both non-empty and contains only characters 1 or 0.

Example 1:

Input: a = "11", b = "1"
Output: "100"

Example 2:

Input: a = "1010", b = "1011"
Output: "10101"

 

 

Solution:

等会再写!

 

 

Code:

public int[] plusOne(int[] digits) {
	int n = digits.length;
	int count = n -1;
	if (digits[n-1] != 9) {
		digits[count]++;
		return digits;
	}else {
		while (digits[count] == 9) {
			if (count == 0) {
				int[] res = new int[n+1];
				res[0] = 1;
				return res;
			}else {
				digits[count] = 0;
				count --;
			}
		}
		digits[count] ++;
	}
	return digits;
}

  

 

 

提交情况:

Runtime: 0 ms, faster than 100.00% of Java online submissions for Plus One.

Memory Usage: 37.2 MB, less than 55.00% of Java online submissions for Plus One.

 

 

LeetCode讨论区有一个更为简洁的方法:

public int[] plusOne(int[] digits) {
    int n = digits.length;
    for(int i=n-1; i>=0; i--) {
        if(digits[i] < 9) {
            digits[i]++;
            return digits;
        }
        digits[i] = 0;
    }
    
    int[] newNumber = new int [n+1];
    newNumber[0] = 1;
    
    return newNumber;
}
 "11", b = "1"
Output: "100"

Example 2:

Input: a = "1010", b = "1011"
Output: "10101"

LeetCode 66 _ One Plus 加一 (Easy)

原文:https://www.cnblogs.com/zingg7/p/10666613.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!