17题为啥必须写return呢?

来源:8-2 什么是回溯

qq_小猪佩奇_7

2023-11-08

17题号码问题为啥必须写return呢?还有递归调用的 back 函数,调用的次数和return的次数不一致这样也可以吗?

写回答

1回答

liuyubobobo

2023-11-09

这个问题的课程代码在这里:https://git.imooc.com/coding-82/coding-82/src/master/08-Recurion-and-Backstracking/Course%20Code%20%28C++%29/01-02-Letter-Combinations-of-a-Phone-Number/main.cpp


如果你的问题是 38 行的 return,这个 return 必须写,否则在 index == digits.size() 时,没有 return,还会继续执行 41 行,而此时执行 digits[index] 则会数组越界。因为本来不应该执行这一行了。index == digits.size() 说明递归结束,就应该反悔了。


你说的 back 函数是指什么我没有理解。对应这个代码的哪里?请补充提问,谢谢。


继续加油!:)

0
0

玩转算法面试-- Leetcode真题分门别类讲解

课程配套大量BAT面试真题,高频算法题解析,强化训练

7408 学习 · 1150 问题

查看课程