原理:https://blog.csdn.net/readiay/article/details/53538085简单实现:https://www.cnblogs.com/victorwu/p/7061168.html