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.

时间复杂度和空间复杂度不变.