Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 157c9bc

Browse files
Merge pull request youngyangyang04#1125 from kekeboomboom/master
738.单调递增的数字 Java版本 代码修改:对于09这样的判断可以不做,直接用String.valueOf方法就行
2 parents 98e4f19 + 66c3aab commit 157c9bc

File tree

1 file changed

+10
-14
lines changed

1 file changed

+10
-14
lines changed

‎problems/0738.单调递增的数字.md‎

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -148,23 +148,19 @@ java版本1中创建了String数组,多次使用Integer.parseInt了方法,
148148
版本2
149149
class Solution {
150150
public int monotoneIncreasingDigits(int n) {
151-
if (n==0)return0;
152-
char[] chars=Integer.toString(n).toCharArray();
153-
int start=Integer.MAX_VALUE;//start初始值设为最大值,这是为了防止当数字本身是单调递增时,没有一位数字需要改成9的情况
154-
for (int i=chars.length-1;i>0;i--){
155-
if (chars[i]<chars[i-1]){
156-
chars[i-1]--;
157-
start=i;
151+
String s =String.valueOf(n);
152+
char[] chars= s.toCharArray();
153+
int start= s.length();
154+
for (int i= s.length() -2; i >=0; i--){
155+
if (chars[i]>chars[i+1]){
156+
chars[i]--;
157+
start= i+1;
158158
}
159159
}
160-
StringBuilder res=new StringBuilder();
161-
for (int i=0;i<chars.length;i++){
162-
if (chars[i]=='0'&&i==0)continue;//防止出现09这样的情况
163-
if (i>=start){
164-
res.append('9');
165-
}else res.append(chars[i]);
160+
for (int i = start; i < s.length(); i++) {
161+
chars[i] = '9';
166162
}
167-
return Integer.parseInt(res.toString());
163+
return Integer.parseInt(String.valueOf(chars));
168164
}
169165
}
170166
```

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /