Dies ist die gegebene Frage: eine nicht negative Zahl dargestellt als eine Anordnung von Stellen angegeben,Array erstes Elemente Entfernen
1 (Inkrementierung der Anzahl der Ziffern dargestellt) zu der Anzahl hinzuzufügen.
Die Ziffern werden so gespeichert, dass die höchstwertige Ziffer am Anfang der Liste steht.
Beispiel:
Wenn der Vektor hat [1, 2, 3]
die zurückgegebene Vektor sein sollte [1, 2, 4]
als 123 + 1 = 124.
Dies ist mein Code:
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;
}
}
jedoch im Testfall: A : [0, 6, 0, 6, 4, 8, 8, 1]
es sagt meine Funktion
während die richtige Antwort ist
zurück 6 0 6 4 8 8 2
Ich habe keine Ahnung, was mit meinem Code falsch ist.
Danke!
bekommen Was passiert, wenn j = 0 hat einen Wert von 0, kein Element gibt in J-- – Sanshayan
@ Sanshai28 ist das '' for (int j = 0; j
@PatrickRoberts Danke jetzt verstehe ich – Sanshayan