O(n) solution Sun Jan 26 02:52:04 EST 2014