思路:将数字转成字符串,利用栈的先入后出特性,拼凑出翻转的字符串,之后再拼接k位数后的数字,注意:翻转后的字符串要将前面的字符‘0’删除,如:003242 ----> 3242 ,后面还要将字符串转成数字
import java.util.Scanner;
import java.util.Stack;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int x = in.nextInt();
int k = in.nextInt();
Stack<Character> s = new Stack<>();
String string = Integer.toString(x);
for (int i = 0; i < k; i++) {
char c = string.charAt(i);
s.add(c);
}
StringBuilder sb = new StringBuilder();
while (!s.isEmpty()) {
sb.append(s.pop());
}
String str = string.substring(k, string.length());
sb.append(str);
for (int i = 0; i < sb.length(); i++) {
if (sb.charAt(i) == '0') {
sb.deleteCharAt(i);
} else {
break;
}
}
String string1 = sb.toString();
int res = Integer.parseInt(string1);
System.out.println(res);
}
}