Find the odd shortest path is NL OddPath be a set of all G, s, t, such that G is a directed graph with a path from node s to node t, and the shortest such path has odd number of edges.

How can I show OddPath is NL?
I think about it for a long time, the main problem is that I don't know how to get length of the shortest path in non-deterministic log place. 

I tried to use coNL = NL to attack this problem. The problem become "find G with the shortest path with even number of edges". Again, I can't deal with "shortest path".
The graph is log-space reducible to the same question restricted to a leveled directed graph. We know the problem whether there is a path between s, t can be solved in NL, so the idea is to repeat the question for different distances.  Let G be the leveled directed graph where v(i) denotes vertex v in level i.

i=1
while i&lt;=N where N is the size of the original graph before leveling.
    check if path exists between s(1) and t(i+1) using an NL machine.
    if yes: 
        then return Accept if i is odd, else reject
    else: i++


If you have a copy of Sipser checkout page 333 for more about leveled graphs since that is where I got the idea.