https://leetcode.cn/circle/discuss/nHouZD/