

- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Add 1 to a number represented as linked list?
Here we will see how to add 1 with a number stored into a linked list. In the linked list, each digit of the numbers is stored. If the number is 512, then it will be stored like below −
512 = (5)-->(1)-->(2)-->NULL
We are providing the list into the increment function. That will return another list after adding 1 with it. Here we are using the C++ STL linked list. Let us see the algorithm to bet better idea.
Algorithm
incrementList(l1)
Begin carry := 1 res := an empty list for each node n from l1, scan from last to first, do item := (l1.item + carry) mod 10 insert item at the beginning of res carry := (l1.item + carry) / 10 done if carry is not 0, then add carry at the beginning of res end if return res End
Example
#include<iostream> #include<list> using namespace std; list<int> incListNum(list<int> l1){ list<int>::reverse_iterator it1 = l1.rbegin(); list<int> result; int carry = 1; //this 1 will be added while(it1 != l1.rend()){ result.push_front((*it1 + carry) % 10); carry = (*it1 + carry) / 10; it1++; } if(carry != 0){ result.push_front(carry); } return result; } list<int> numToList(int n){ list<int> numList; while(n != 0){ numList.push_front(n % 10); n /= 10; } return numList; } void displayListNum(list<int> numList){ for(list<int>::iterator it = numList.begin(); it != numList.end(); it++){ cout<<*it; } cout << endl; } int main() { int n1 = 9999; list<int> n1_list = numToList(n1); list<int> res = incListNum(n1_list); cout << "The number: "; displayListNum(n1_list); cout << "Result: "; displayListNum(res); }
Output
The number: 9999 Result: 10000
- Related Questions & Answers
- Add 1 to a number represented as a linked list?
- Add 1 to number represented as array (Recursive Approach)?
- Add 1 to the number represented as array (Recursive Approach)?
- Multiply two numbers represented as linked lists into a third list in C++
- Add two numbers represented by linked lists?
- Program to find numbers represented as linked lists in Python
- Add 1 to a given number?
- Program to add two numbers represented as strings in Python
- Add elements to a linked list using Javascript
- Divide large number represented as string in C++ Program
- Adding one to number represented as array of digits in C++?
- Singly Linked List as Circular in Javascript
- Doubly Linked List as Circular in Javascript
- Program to add one to a number that is shown as a digit list in Python
- Adding one to number represented as array of digits in C Program?
Advertisements