http://leetcode.com/onlinejudge#question_130
http://leetcode.com/onlinejudge#question_130