Morgan Stanley Medium csharp

Reverse Integer

Animated walkthrough

Step through the algorithm visually — use Play or the step buttons (inspired by AlgoMaster / visualgo).

Step 1 / 1

Morgan Stanley interview context: Reverse Integer is a Medium Bit Manipulation problem — XOR tricks, masks, and bit counts — frequent in Google/Meta screens.

Use the animation above to step through each move before writing code.

Pattern: Bit Manipulation

Read from stdin, write to stdout. Classic interview problem #7.

Problem

Reverse Integer — Morgan Stanley interview prep · Bit Manipulation

Classic interview problem #7.

Input (stdin)

Line 1: integer x

Output (stdout)

Reversed int (0 on overflow)

Your program must read from stdin and write the answer to stdout (no extra debug text).

Examples

Sample
Input
123
Output
321
Static hints
  • Input format: Line 1: integer x
  • DSA Interview 150 — Bit Manipulation
  • Problem #7
  • Frequently asked at Morgan Stanley
  • Bit Manipulation

Toolliyo Coach

Stuck? Get a nudge — not the answer

Progressive help: Nudge → Guide → Approach. Full solution stays behind the Solution tab.

Your solution

TestStatusDetails
Ready — edit the code above and click Run or Submit.

Solution

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

class Program
{
    static int[] Ria(string line = null)
    {
        line ??= Console.ReadLine();
        if (string.IsNullOrWhiteSpace(line)) return Array.Empty<int>();
        return line.Trim().Split(new[] { ' ', ',', '\t' }, StringSplitOptions.RemoveEmptyEntries)
            .Select(int.Parse).ToArray();
    }
    static string[] Rsa()
    {
        int n = int.Parse(Console.ReadLine());
        var arr = new string[n];
        for (int i = 0; i < n; i++) arr[i] = Console.ReadLine();
        return arr;
    }
    static void W(params object[] parts) => Console.WriteLine(string.Join(" ", parts));
    static void Wb(bool v) => Console.WriteLine(v ? "true" : "false");
    static void Wi(int v) => Console.WriteLine(v);
    static void Ws(string v) => Console.WriteLine(v);

    static void Main()
    {
int x = int.Parse(Console.ReadLine());
long rev = 0, n = x;
while (n != 0) {
    rev = rev * 10 + n % 10;
    n /= 10;
    if (rev > int.MaxValue || rev < int.MinValue) { rev = 0; break; }
}
Wi((int)rev);
    }
}

Try solving on your own first, then reveal the official answer.

Discussion

0

Sign in to join the discussion.

No discussions yet — ask the first question!

Toolliyo Assistant
Ask about tutorials, ebooks, training, pricing, mentor services, and support. I use public site content only—not admin or internal tools.

care@toolliyo.com

Need callback? Share your details