## 238 Product of Array Except Self

Given an array of *n* integers where *n* > 1, `nums`

, return an array `output`

such that `output[i]`

is equal to the product of all the elements of `nums`

except `nums[i]`

.

Given an array of *n* integers where *n* > 1, `nums`

, return an array `output`

such that `output[i]`

is equal to the product of all the elements of `nums`

except `nums[i]`

.

Given a singly linked list, determine if it is a palindrome.

**Follow up:**

Could you do it in O(n) time and O(1) space?

Given a binary search tree, write a function `kthSmallest`

to find the **k**th smallest element in it.

**Note: **

You may assume k is always valid, 1 ≤ k ≤ BST’s total elements.

Implement the following operations of a stack using queues.

- push(x) – Push element x onto stack.
- pop() – Removes the element on top of the stack.

Given an array of integers and an integer *k*, find out whether there are two distinct indices *i* and *j* in the array such that **nums[i] = nums[j]** and the **absolute** difference between *i* and *j* is at most *k*.

Remove all elements from a linked list of integers that have value **val**.

**Example****Given:** 1 –> 2 –> 6 –> 3 –> 4 –> 5 –> 6, **val** = 6**Return:** 1 –> 2 –> 3 –> 4 –> 5

You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constraint stopping you from robbing each of them is that adjacent houses have security system connected and **it will automatically contact the police if two adjacent houses were broken into on the same night**.

Reverse bits of a given 32 bits unsigned integer.

For example, given input 43261596 (represented in binary as **00000010100101000001111010011100**), return 964176192 (represented in binary as **00111001011110000010100101000000**).

Rotate an array of *n* elements to the right by *k* steps.

For example, with *n* = 7 and *k* = 3, the array `[1,2,3,4,5,6,7]`

is rotated to `[5,6,7,1,2,3,4]`

.