这个手撕真的难,要考虑的边界条件不少,还需要回溯。