We give an algorithm for computing all roots of polynomials over a univariate power series ring over an exact eld K. More precisely, given a precision d, and a polynomial Q whose coe cients are power series in x, the algorithm computes a representation of all power series f (x) such that Q(f (x)) = 0 mod x d . e algorithm works unconditionally, in particular also with multiple roots, where Newton iteration fails. Our main motivation comes from coding theory where instances of this problem arise and multiple roots must be handled.e cost bound for our algorithm matches the worst-case input and output size d deg(Q), up to logarithmic factors. is improves upon previous algorithms which were quadratic in at least one of d and deg(Q). Our algorithm is a re nement of a divide & conquer algorithm by Alekhnovich (2005), where the cost of recursive steps is be er controlled via the computation of a factor of Q which has a smaller degree while preserving the roots.