写通用解法,要求时间复杂度O(n)?