注册一亩三分地论坛,查看更多干货!
您需要 登录 才可以下载或查看附件。没有帐号?注册账号
x
本帖最后由 shuatizhe 于 2022-1-17 22:12 编辑
比如,preOrder tree traversal,一般都是这样递归:- public class Solution {
- public List<Integer> preorderTraversal(TreeNode root) {
- List<Integer> result = new ArrayList<Integer>();
- traverse(root, result);
- return result;
- }
- private void traverse(TreeNode root, List<Integer> result) {
- if (root == null) {
- return;
- }
- result.add(root.val);
- traverse(root.left, result);
- traverse(root.right, result);
- }
- }
复制代码 但是这不是尾递归,如果要换成尾递归就要把 result.add(root.val)也放到traverse( )参数中,试了几种方法,都不对。知道有没有尾递归的解法?谢谢!
|