Swap Two Numbers
In this coding question, we input two numbers and swap them without using the swapping logic.
Table of Contents
In this lesson, we use the XOR operator to swap the values of two inputs.
Introduction
In this question, input two numbers and swap them without using the swapping logic.
Problem statement
We need to write a program to swap two numbers.
Input: a = 10, b = 121
Output: a = 121, b = 10
Solution
We can make use of XOR to swap two values. You will find the solution below:
Java
class SwapTwoNumbers {
public static void main(String[] args) {
int a = 10, b = 121;
a = a ^ b;
b = b ^ a;
a = a ^ b;
System.out.println("Finally, after swapping; a = " + a + " , b = " + b);
}
}
Python
def swap_nums(a,b):
a=a^b
b=b^a
a=a^b
print("Finally, after swapping a =", a, ",b =", b)
a=10
b=121
swap_nums(a,b)
JavaScript
const SwapTwoNumbers = (a, b) => {
a = a ^ b;
b = b ^ a;
a = a ^ b;
console.log (`Finally, after swapping; a = ${a} , b = ${b}`)
}
const a = 10;
const b = 121;
SwapTwoNumbers (a, b);
C++
#include <iostream>
using namespace std;
int main() {
int a = 10, b = 121;
a = a ^ b;
b = b ^ a;
a = a ^ b;
cout << "Finally, after swapping; a= " << a << " , b = " << b;
return 0;
}
TypeScript
export const SwapTwoNumbers = (a: number, b: number): void => {
a = a ^ b;
b = b ^ a;
a = a ^ b;
console.log(`Finally, after swapping; a = ${a} , b = ${b}`)
}
const a: number = 10;
const b: number = 121;
SwapTwoNumbers(a, b);
Complexity analysis
Time Complexity: We are not running a loop or scaling the inputs. The inputs never change. So the operation takes a single unit of time, which is O(1)
.
Space Complexity: We didn’t create an extra memory for this. So, the space complexity is O(1)
.
Gopi Gorantala Newsletter
Join the newsletter to receive the latest updates in your inbox.