If in a graph G all cycles are even in length, then it is bipartite.
Apply BFS algorithm to graph G. It divides vertices of G into layers. Set U consists of vertices from odd layers, V of vertices from even layers. Let's assume (by contradiction) that there exists edge e that connects some two vertices x, y from U. Let r be the root of tree determined by BFS algorithm. Then path from x to r, from r to y, and edge e are cycle of odd length - that's contradiction as graph G doesn't contain odd-length cycles. (same with set V).