Double barrier options are important path-dependent derivatives in the financial market. How to price them efficiently and accurately is thus important. Until now, no simple closed-form pricing formula for double barrier options is reported. Double barrier options can be priced on a lattice that divides a certain time interval (from option initial date to maturity date) into n equal-length time steps. The pricing results obtained by the lattice algorithm converge to the true option value as n ← ∞, and the results oscillate significantly especially when n is not large enough. To obtain an accurate pricing result without suffering from price oscillation, n is required to be a large number. Unfortunately, the lattice pricing algorithm runs in O(n2) time. This paper proposes a linear-time combinatorial algorithm that can generate the same pricing results as the lattice algorithm. Thus our algorithm can handle very large n's efficiently. This algorithm uses a novel technique based on the re ection principle and the inclusion-exclusion principle. Numerical experiments are given to verify the excellent performance of our algorithm.