Alexander Zverev has reached the final of the Shanghai Masters, easing past Matteo Berrettini in straight sets.