1 2 3 4 5 6 7 8 9 10 11 12
| class Solution { public int maximum69Number(int num) { char[] digitArray = String.valueOf(num).toCharArray(); for (int i = 0; i < digitArray.length; i++) { if (digitArray[i] == '6') { digitArray[i] = '9'; break; } } return Integer.valueOf(new String(digitArray)); } }
|
时间复杂度: O(n) n是num的长度
空间复杂度: O(n)
1 2 3 4 5 6 7 8 9 10 11 12 13
| class Solution { public int maximum69Number(int num) { StringBuilder numString = new StringBuilder(); numString.append(num); for (int i = 0; i < numString.length(); i++) { if (numString.charAt(i) == '6') { numString.setCharAt(i, '9'); break; } } return Integer.valueOf(numString.toString()); } }
|
思路一样, 只不过使用StringBuilder.
时间复杂度和空间复杂度不变.