Find the odd shortest path is NL
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.