Write a function that returns 2 for input 1 and returns 1 for 2

Write a function which returns 1 that 2 is passed and return 2 when 1 is passed.

Source: Adobe Interview Experience | Set 19 (For MTS)

A simple solution is to compare the passed value with 1 and 2.

int invert(int x)
{
   if (x == 1) return 2;
   else return 1;
}

Another solution is to use subtraction

int invertSub(int x)
{
   return (3-x);
}

We can also use bitwise xor operator.

int invertXOR(int x)
{
   return (x ^ 1 ^ 2);
}

This article is contributed by Anuj. Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above


GATE CS Notes (According to Official GATE 2017 Syllabus)

GATE CS Corner


See Placement Course for placement preparation, GATE Corner for GATE CS Preparation and Quiz Corner for all Quizzes on GeeksQuiz.