http://leetcode.com/onlinejudge#question_2
http://leetcode.com/onlinejudge#question_3
http://leetcode.com/onlinejudge#question_3
http://leetcode.com/onlinejudge#question_21
http://leetcode.com/onlinejudge#question_61