## Problem-1: This problem was recently asked by Microsoft

You are given two linked-lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contains a single digit. Add the two numbers and return them as a linked list.

Example:
Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)
Output: 7 -> 0 -> 8
Explanation: 342 + 465 = 807.

## Problem-2: This problem was recently asked by Microsoft

Given a string, find the length of the longest substring without repeating characters. Here is an example solution in Python language. (Any language is OK to use in an interview, though we’d recommend Python as a generalist language utilized by companies like Google, Facebook, Netflix, Dropbox, Pinterest, Uber, etc).

Example:
class Solution:
def lengthOfLongestSubstring(self, s):
# Fill this in.

print Solution().lengthOfLongestSubstring(‘abrkaabcdefghijjxxx’)
# 10

A palindrome is a sequence of characters that reads the same backward and forwards. Given a string, s, find the longest palindromic substring in s.

Example:
Input: “banana”
Output: “anana”
Input: “million”
Output: “illi”

Given a singly-linked list, reverse the list. This can be done iteratively or recursively. Can you get both solutions?

Example:
Input: 4 -> 3 -> 2 -> 1 -> 0 -> NULL
Output: 0 -> 1 -> 2 -> 3 -> 4 -> NULL