Đây là câu hỏi đưa ra: Cho một số không âm thể hiện dưới dạng một loạt các chữ số,ArrayList Loại bỏ phần tử đầu tiên
thêm từ 1 tới số (tăng số đại diện bởi các chữ số).
Các chữ số được lưu trữ sao cho chữ số quan trọng nhất nằm ở đầu danh sách.
Ví dụ:
Nếu vector có [1, 2, 3]
vector trở nên [1, 2, 4]
như 123 + 1 = 124.
Đây là mã của tôi:
public class Solution {
public ArrayList<Integer> plusOne(ArrayList<Integer> A) {
int carry = 1;
int length = A.size();
ArrayList result = new ArrayList();
for(int i = length - 1; i >=0; i--){
int val = A.get(i) + carry;
result.add(0,val % 10);
carry = val/10;
}
if (carry == 1){
result.add(0,1);
}
for (int j = 0; j < result.size(); j++){
if(result.get(j).equals(0))
result.remove(j);
else
break;
}
return result;
}
}
Tuy nhiên, trong trường hợp thử nghiệm: Một : [0, 6, 0, 6, 4, 8, 8, 1]
nó nói chức năng của tôi trả
trong khi câu trả lời đúng là
Tôi không biết có gì sai với mã của mình.
Cảm ơn!
Điều gì sẽ xảy ra khi k = 0 có giá trị từ 0, không có phần tử trong j-- – Sanshayan
@ Sanshai28 'cái' for (int j = 0; j
@PatrickRoberts Cảm ơn tôi đã hiểu – Sanshayan