# LeetCode 50. Pow(x, n)

I got stuck on this problem, even after looking at answers, I could not follow algorithm. Following video really helped me understand it:

Here is my solution after watching this video:

```
/**
* @param {number} x
* @param {number} n
* @return {number}
*/
var myPow = function (x , n ) {
if (x == 0 ) return 0
if (n == 0 ) return 1
if (n < 0 ) {
x = 1 / x
n = - 1 * n
}
const half = myPow (x , Math.floor (n / 2 ))
let ans = half * half
if (n % 2 == 1 ) ans = x * ans
return ans
};
```

Published on
Previous post: LeetCode 1570. Dot Product of Two Sparse Vectors

Next post: Avicii – the Nights