Inhaltsverzeichnis
Erklärung
Beispiel
Heim Backend-Entwicklung C++ Addiere 1 zu einer Zahl, die durch eine verknüpfte Liste dargestellt wird

Addiere 1 zu einer Zahl, die durch eine verknüpfte Liste dargestellt wird

Aug 29, 2023 pm 09:17 PM
数字 链表

Addiere 1 zu einer Zahl, die durch eine verknüpfte Liste dargestellt wird

Die Darstellung einer Zahl in einer verknüpften Liste sieht folgendermaßen aus: Alle Knoten der verknüpften Liste werden als eine Ziffer der Zahl betrachtet. Knoten speichern Zahlen so, dass das erste Element der verknüpften Liste die höchstwertige Ziffer der Zahl enthält und das letzte Element der verknüpften Liste die niedrigstwertige Ziffer der Zahl enthält. Beispielsweise wird die Zahl 202345 in der verknüpften Liste als (2->0->2->3->4->5) dargestellt.

Um 1 zu dieser verknüpften Liste mit Zahlen hinzuzufügen, müssen wir den Wert des niedrigstwertigen Bits in der Liste überprüfen. Wenn es weniger als 9 ist, ist es in Ordnung, andernfalls ändert der Code die nächste Zahl und so weiter.

Sehen wir uns nun ein Beispiel an, um zu verstehen, wie das geht: 1999 wird als (1->9->9 ->9) dargestellt und das Hinzufügen von 1 sollte es in (2->0->0->0) ändern.

Input:1999
Output:2000
Nach dem Login kopieren

Erklärung

Fügen Sie 1 zu der durch die angegebene verknüpfte Liste dargestellten Zahl hinzu, was bedeutet, dass Sie die folgenden Schritte ausführen müssen:

  • Verknüpfte Liste umkehren: Sie müssen die verknüpfte Liste umkehren, d. h. die letzte ändern Zahl zum Ersten, Der Erste wird zum Letzten. Beispielsweise wird 1->9->9->9 zu 9->9->9->1 übersetzt.
  • Durchlaufen Sie für diese umgekehrt verknüpfte Liste die verknüpfte Liste und fügen Sie 1 zum Knoten ganz links hinzu. Wenn der Wert dieses Knotens gleich 9 ist, wird der Übertrag an den nächsten Knoten übergeben. Wiederholen Sie diesen Vorgang, bis keine Überträge mehr vorhanden sind.
  • Stellen Sie die Zeichenfolge in ihrer ursprünglichen Form wieder her und geben Sie den Kopfknoten zurück, um die Zeichenfolge zu drucken.

Beispiel

#include <iostream>
using namespace std;
//n=next node ; d=data ; p= previous node; h=head node; c=current node
class Node {
   public:
      int d;
      Node* n;
};
Node *newNode(int d) {
   Node *new_node = new Node;
   new_node->d = d;
   new_node->n = NULL;
   return new_node;
}
Node *reverse(Node *h) {
   Node * p = NULL;
   Node * c = h;
   Node * n;
   while (c != NULL) {
      n = c->n;
      c->n = p;
      p = c;
      c = n;
   }
   return p;
}
Node *addOneUtil(Node *h) {
   Node* res = h;
   Node *temp, *p = NULL;
   int carry = 1, sum;
   while (h != NULL) {
      sum = carry + h->d;
      carry = (sum >= 10)? 1 : 0;
      sum = sum % 10;
      h->d = sum;
      temp = h;
      h = h->n;
   }
   if (carry > 0)
      temp->n = newNode(carry);
   return res;
}
Node* addOne(Node *h) {
   h = reverse(h);
   h = addOneUtil(h);
   return reverse(h);
}
int main() {
   Node *h = newNode(1);
   h->n = newNode(9);
   h->n->n = newNode(9);
   h->n->n->n = newNode(9);
   h = addOne(h);
   while (h != NULL) {
      cout << h->d;
      h = h->n;
   }
   cout<<endl;
   return 0;
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonAddiere 1 zu einer Zahl, die durch eine verknüpfte Liste dargestellt wird. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

iOS 17: So ändern Sie den Uhrstil des iPhone im Standby-Modus iOS 17: So ändern Sie den Uhrstil des iPhone im Standby-Modus Sep 10, 2023 pm 09:21 PM

Standby ist ein Sperrbildschirmmodus, der aktiviert wird, wenn das iPhone an das Ladegerät angeschlossen und horizontal (oder im Querformat) ausgerichtet ist. Es besteht aus drei verschiedenen Bildschirmen, von denen einer im Vollbildmodus angezeigt wird. Lesen Sie weiter, um zu erfahren, wie Sie den Stil Ihrer Uhr ändern können. Auf dem dritten Bildschirm von StandBy werden Uhrzeiten und Daten in verschiedenen Themen angezeigt, die Sie vertikal wischen können. Einige Themes zeigen auch zusätzliche Informationen an, wie z. B. Temperatur oder nächster Alarm. Wenn Sie eine beliebige Uhr gedrückt halten, können Sie zwischen verschiedenen Themen wechseln, darunter Digital, Analog, Welt, Solar und Floating. Float zeigt die Zeit in großen Blasenzahlen in anpassbaren Farben an, Solar verfügt über eine Standardschriftart mit einem Sonneneruptionsdesign in verschiedenen Farben und World zeigt die Welt durch Hervorhebung an

So fügen Sie Berserker in Dungeon and Fighter Origins Punkte hinzu So fügen Sie Berserker in Dungeon and Fighter Origins Punkte hinzu Mar 17, 2024 am 08:13 AM

Wie füge ich dem Berserker in Dungeon and Fighter Origins Punkte hinzu? Der Berserker ist im Spiel ein Beruf mit gemischtem Schaden Bei den Waffeneinstellungen gibt es worauf Sie achten müssen. Hier finden Sie eine Übersicht über die Prioritäten für das Hinzufügen von Punkten zu Berserker-Attributen in Dungeon und Fighter Origins. Prioritätsliste für Dungeon- und Kämpfer-Attribute: Verbesserung der physischen Angriffs-/Fertigkeitsgeschwindigkeit; ; Geist. 2. Berserker ist ein Beruf, der festen Schaden und prozentualen Schaden kombiniert und hauptsächlich auf physischem Angriff, Stärke und unabhängiger Angriffskraft beruht. 3. Physische Angriffe wirken sich auf Feststoffe aus

C++-Programm zum Runden einer Zahl auf n Dezimalstellen C++-Programm zum Runden einer Zahl auf n Dezimalstellen Sep 12, 2023 pm 05:13 PM

Zahlen als Ausgabe darzustellen ist eine interessante und wichtige Aufgabe beim Schreiben eines Programms in einer beliebigen Sprache. Bei ganzzahligen Typen (Daten vom Typ kurz, lang oder mittel) ist es einfach, Zahlen als Ausgabe darzustellen. Bei Gleitkommazahlen (Float- oder Double-Typ) müssen wir sie manchmal auf eine bestimmte Anzahl von Dezimalstellen runden. Wenn wir beispielsweise 52,24568 mit drei Dezimalstellen darstellen möchten, ist eine gewisse Vorverarbeitung erforderlich. In diesem Artikel stellen wir verschiedene Techniken vor, um Gleitkommazahlen durch Runden auf eine bestimmte Anzahl von Dezimalstellen darzustellen. Unter den verschiedenen Ansätzen ist es wichtig, eine C-ähnliche Formatzeichenfolge zu verwenden, das Präzisionsargument zu verwenden und die Funktion „round()“ aus der Mathematikbibliothek zu verwenden. Schauen wir sie uns einzeln an. mit

Finden Sie mit C++ Zahlen, die durch keine Zahl in einem Bereich teilbar sind Finden Sie mit C++ Zahlen, die durch keine Zahl in einem Bereich teilbar sind Sep 13, 2023 pm 09:21 PM

In diesem Artikel werden wir das Problem diskutieren, Zahlen zwischen 1 und n (vorgegeben) zu finden, die nicht durch eine Zahl zwischen 2 und 10 teilbar sind. Lassen Sie uns dies anhand einiger Beispiele verstehen: Eingabe: Nummer = 14 Ausgabe: 3 Erläuterung: Es gibt drei Zahlen, 1, 11 und 13, die nicht teilbar sind. Eingabe: Nummer = 21 Ausgabe: 5 Erläuterung: Es gibt fünf Zahlen 1, 11, 13, 17 und 19, die nicht teilbar sind

Suchen Sie mithilfe der rekursiven Methode den n-ten Knoten aus der letzten verknüpften Liste in C++ Suchen Sie mithilfe der rekursiven Methode den n-ten Knoten aus der letzten verknüpften Liste in C++ Sep 15, 2023 pm 05:53 PM

Gegeben sei eine einfach verknüpfte Liste und eine positive ganze Zahl N als Eingabe. Das Ziel besteht darin, mithilfe der Rekursion den N-ten Knoten am Ende der angegebenen Liste zu finden. Wenn die Eingabeliste Knoten a→b→c→d→e→f hat und N 4 ist, dann ist der vierte Knoten vom letzten c. Wir werden zunächst bis zum letzten Knoten in der Liste durchlaufen und bei der Rückkehr von der rekursiven (Backtracking-)Inkrementzählung. Wenn count gleich N ist, wird als Ergebnis ein Zeiger auf den aktuellen Knoten zurückgegeben. Schauen wir uns hierfür verschiedene Eingabe- und Ausgabeszenarien an - Eingabeliste: -1→5→7→12→2→96→33N=3 Ausgabe − Der N-te Knoten vom letzten ist: 2 Erläuterung − Der dritte Knoten ist 2 . Eingabe − Liste: -12→53→8→19→20→96→33N=8 Ausgabe – Knoten existiert nicht

Realme GT Neo6 soll am 9. Mai erscheinen! Die erste KI-Digital-Human-Konferenz in der Computerbranche Realme GT Neo6 soll am 9. Mai erscheinen! Die erste KI-Digital-Human-Konferenz in der Computerbranche May 08, 2024 pm 12:49 PM

Am 7. Mai gab unser Mobiltelefonhersteller offiziell bekannt, dass die GTNeo6-Startkonferenz unseres Unternehmens für den 9. Mai geplant ist. GTNoe6 ist als „Performance Storm“ positioniert und zielt darauf ab, die Situation bei Mittelklasse-Maschinen aufzumischen. Darüber hinaus wird diese Konferenz auch die erste KI-Digital-Human-Konferenz in der Mobiltelefonbranche sein. Zu diesem Zeitpunkt werden der Vizepräsident von Realme, der Präsident des globalen Marketings und der Präsident von China, Xu Qi, in Form eines digitalen Menschen auf der Pressekonferenz erscheinen. Digitaler Mann Kürzlich wurde festgestellt, dass das Realme GTNeo6 direkt auf der E-Commerce-Plattform verfügbar ist. Einige Kernkonfigurationen wurden enthüllt, was zeigt, dass das Gerät nicht nur mit einem Snapdragon 8s-Prozessor ausgestattet ist, sondern auch 120-W-Flash-Laden unterstützt.

Java-Programm zum Überprüfen, ob eine Zahl durch 5 teilbar ist Java-Programm zum Überprüfen, ob eine Zahl durch 5 teilbar ist Sep 13, 2023 pm 09:01 PM

In der Mathematik besagt die Teilbarkeitsregel von 5, dass eine Zahl, die mit 0 oder 5 endet, durch 5 teilbar ist. Es gibt eine andere Möglichkeit, die Teilbarkeitsregel von 5 zu bestimmen: Wenn der Rest 0 ist, wird die Zahl zurückgegeben, die durch 5 teilbar ist. Der mod(%)-Operator wird häufig in der Programmierung für die Ganzzahldivision verwendet. Geben wir ein Beispiel. Die angegebene Zahl ist 525, die Zahl endet mit 5 und ist durch 5 teilbar. Die angegebene Zahl ist 7050, die mit 0 endet und durch 5 teilbar ist. Die angegebene Zahl ist 678, die nicht mit 0 und 5 endet und nicht durch 5 teilbar ist. In diesem Artikel werden wir die Frage klären, ob die Zahl durch 5 teilbar ist. Algorithmus In den folgenden Schritten verwenden wir die java.util.*-Pakete, um Benutzereingaben für primitive Datentypen zu erhalten. aus der Hauptklasse

So stellen Sie WeChat-Eckmarkierungsnummern wieder her So stellen Sie WeChat-Eckmarkierungsnummern wieder her Nov 29, 2023 pm 05:46 PM

Methoden zum Wiederherstellen der WeChat-Ecknummer: 1. Beenden Sie WeChat und starten Sie es neu. 2. Leeren Sie den WeChat-Cache. 4. Deinstallieren Sie WeChat und installieren Sie es erneut. Detaillierte Einführung: 1. Erzwingen Sie das Beenden von WeChat und starten Sie es neu. Dies ist die häufigste Methode, um die abnormale Anzahl von WeChat-Ecken zu beheben. Klicken Sie auf die Schaltfläche „Ich“ in der unteren linken Ecke und dann auf „Einstellungen“. "-Schaltfläche in der oberen rechten Ecke. Öffnen Sie die Einstellungsoberfläche. Wählen Sie in der Einstellungsoberfläche „Abmelden“, um sich von WeChat abzumelden. Starten Sie WeChat nach einigen Sekunden erneut. Normalerweise wird die Ecknummer wieder normal usw.

See all articles