How to calculate First Common Ancestor of two Nodes in Binary Tree
First try to understand question. Its a binary tree, not a binary search tree…
August 27, 2019
Given a signed integer, reverse digits of an integer.
Example 1:
Input: 123
Output: 321
Example 2:
Input: -123
Output: -321
Example 3:
Input: 120
Output: 21
Return 0 for Integer overflow
The algorithm should be simple. You fetch the last digit. For next round, you need to move this to next digit place, and add next last digit.
You need to get last digit from number, and multiply last result by 10 to move it to next place.
s = s*10 + remainder;
We will do two calculations
Overflow cases
:
Note, max limit for 64-bit integer: 2^(64-1) - 1 = 2147483647
case 1
: Multiplication is itself overflowed:
Operation we will do: s10, we can check if s10 > Integer.MAXVALUE
OR, s > Integer.MAXVALUE/10case 2
: if s10 is equal to Integer.MAX_VALUE, Which means the number will be *214748364
multiply it with 10 will give: 21474836470
So, we need to check the remainder (which is to be added), if it is greater than 7, it is an overflow.public class Q7_ReverseInteger {
public int reverse(int x) {
boolean neg = false;
if (x < 0) {
//negative number
neg = true;
x = -x;
}
int s = 0;
while (x > 0) {
int rem = x%10;
if (s > Integer.MAX_VALUE/10 || (s == Integer.MAX_VALUE/10 && rem > 7)) {
return 0;
}
s = s*10 + rem;
x = x/10;
}
if (neg) {
return -s;
}
return s;
}
}
It is equal to the number of digits of the number. O(l)
First try to understand question. Its a binary tree, not a binary search tree…
Counting sort runs on relatively smaller set of input. Counting sort calculates…
Problem Statement Given a non-empty array of integers, every element appears…
Problem Statement Determine whether an integer is a palindrome. An integer is a…
Problem Statement Write a function to find the longest common prefix string…
This algorithm is very efficient one, and is classic example of Divide and…
Introduction Strapi is a backend system provides basic crud operations with…
Introduction I had to create many repositories in an Github organization. I…
Introduction I was trying to download some youtube videos for my kids. As I have…
Introduction In this post, we will explore some useful command line options for…
Introduction In this post, we will see how we can apply a patch to Python and…
Introduction We will introduce a Package Manager for Windows: . In automations…