【无标题】

打印 上一主题 下一主题

主题 2002|帖子 2002|积分 6006

记载

2025.4.19
标题:


思路:

按照访问左子树——根节点——右子树的方式遍历这棵树
解题步调:

界说 inorder(root) 表示当前遍历到 root 节点的答案,那么按照界说,我们只要递归调用 inorder(root.left) 来遍历 root 节点的左子树,然后将 root 节点的值加入答案,再递归调用inorder(root.right) 来遍历 root 节点的右子树即可,递归终止的条件为遇到空节点。
代码:

  1. /**
  2. * Definition for a binary tree node.
  3. * public class TreeNode {
  4. *     int val;
  5. *     TreeNode left;
  6. *     TreeNode right;
  7. *     TreeNode() {}
  8. *     TreeNode(int val) { this.val = val; }
  9. *     TreeNode(int val, TreeNode left, TreeNode right) {
  10. *         this.val = val;
  11. *         this.left = left;
  12. *         this.right = right;
  13. *     }
  14. * }
  15. */
  16. class Solution {
  17.     public List<Integer> inorderTraversal(TreeNode root) {
  18.         List<Integer> res = new ArrayList<Integer>();
  19.         inorder(root, res);
  20.         return res;
  21.     }
  22.     public void inorder(TreeNode root, List<Integer> res) {
  23.         if (root == null) {
  24.             return;
  25.         }
  26.         inorder(root.left, res);
  27.         res.add(root.val);
  28.         inorder(root.right, res);
  29.     }
  30. }
复制代码
复杂度:

N(N)
N(N)

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

鼠扑

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表