Why do you need to use recursion? The most simple algorithm for finding the shortest path is BFS, not DFS, and it is not recursive. I know of no good and fast general-case shortest path algorithm that uses recursion.
But also note that if your graph (maze) is a tree, i.e. has no cycles, then from each vertex to each other there is only one way, and it will be shortest, so DFS will be applicable in this case.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…