leetcode 011 improved, 033 improved