In wavelength-routed optical networks (WRONs), wavelength converters are considered as one of the most critical resources because they can significantly reduce the blocking probability but still remain quite expensive. Therefore, the problem of dynamic wavelength assignment that can optimally utilize converters is strongly desired. Unfortunately, previously proposed algorithms are impractical due to their huge computational complexities. In this paper, perhaps for the first time, we formulate this problem as an integer linear program (ILP) and solve it by a novel heuristics, called first-longest lambda-run algorithm (FLR). Our algorithm establishes a lightpath by chaining a minimum number of wavelength-continuous segments, called lambda-runs. The simulations in the NSFNET with different conversion capabilities show that more than 98% of lightpaths determined by FLR are optimal. As a result, FLR can significantly improve the network blocking performance, compared to first-fit algorithm. Especially, our algorithm is very time-efficient and easy to implement.