找出两个点间的所有路径

问题遇到的现象和发生背景

找出两个点间的所有路径
有两段代码,我本来以为是一样的效果,结果不一样,请解答一下是为什么

用代码块功能插入代码,请勿粘贴截图
path = []
stack = []

def path_between_nodes(start, end):
    stack.append(start)
    if start == end:
       
        path.append(stack.copy())
        stack.pop()
  
    else:
        for nextPoint in neighbor[start]:
            if nextPoint not in: 
                path_between_nodes(nextPoint, end)
        stack.pop()
    return path
path = []
stack = []

def path_between_nodes(start, end):
    stack.append(start)
    if start == end:

        path.append(stack.copy())

    else:
        for nextPoint in neighbor[start]:
            if nextPoint not in stack:
                path_between_nodes(nextPoint, end)
                stack.pop()
    return path

差别很小吧,第一个代码等价于在return path之前stack.pop(),第二个代码是在运行path_between_nodes()之后,也就是return path之后再stack.pop(),感觉差别仅仅是stack的内容可能会不一样。能具体讲讲你看到的不一样的效果?