Molecular communications emerges as a promising scheme for communication between nanoscale devices. In diffusion-based molecular communications, molecules as information symbols are released by transmitters and diffuse in the fluid or air environments to transmit messages. Under the diffusion channel modeled by Brownian motion, information sequences suffer from molecule crossovers, i.e., molecules released at an earlier time may arrive later, causing intersymbol interference (ISI). In this paper, we investigate practical channel codes for combating ISI. An ISI-free coding scheme is proposed to increase the communication reliability while keeping the encoding/decoding complexity reasonably low. We exemplify an ISI-free code and theoretically approximate its bit error rate (BER) performance. In addition, repetition codes are revisited out of the complexity concern and proved to be desirable. The BER approximations of the repetition code family are given as well. Compared with convolutional codes, the proposed ISI-free code and repetition codes offer comparable performance with much lower complexity for diffusion-based molecular communication systems.