一个改进版，可以对比速度，但是总觉得哪里奇怪