递归-回溯

Stack<int> stack = new Stack<int>();
int temp = 0;
HS(92);

void HS(int i)
{
    if(i == 100) return;
    stack.Push(i);
    Console.WriteLine($"回溯前i:{i}");
    HS(i+1);
    temp = stack.Pop();
    Console.WriteLine($"回溯后i:{temp}");

}

执行结果是:

回溯前i:92
回溯前i:93
回溯前i:94
回溯前i:95
回溯前i:96
回溯前i:97
回溯前i:98
回溯前i:99
回溯后i:99
回溯后i:98
回溯后i:97
回溯后i:96
回溯后i:95
回溯后i:94
回溯后i:93
回溯后i:92

主要的是回溯后是从99开始的,也就是从递归前最后一个数开始。

力扣22

posted @ 2023-04-08 10:43  vba是最好的语言  阅读(19)  评论(0编辑  收藏  举报