zoukankan      html  css  js  c++  java
  • 94. 二叉树的中序遍历

    题目链接:https://leetcode-cn.com/problems/binary-tree-inorder-traversal/

    /**
     * Definition for a binary tree node.
     * public class TreeNode {
     *     int val;
     *     TreeNode left;
     *     TreeNode right;
     *     TreeNode() {}
     *     TreeNode(int val) { this.val = val; }
     *     TreeNode(int val, TreeNode left, TreeNode right) {
     *         this.val = val;
     *         this.left = left;
     *         this.right = right;
     *     }
     * }
     */
    class Solution {
            public List<Integer> inorderTraversal(TreeNode root) {
            List<Integer> res = new ArrayList<Integer>();
            inorder(root, res);
            return res;
        }
    
        public void inorder(TreeNode root, List<Integer> res){
            if(root == null){
                return;
            }
            inorder(root.left, res);
            res.add(root.val);
            inorder(root.right, res);
        }
    }
    

    注意点:

    1. 先序遍历【根->左孩子->右孩子】,中序遍历【左孩子->根->右孩子】,后序遍历【左孩子->右孩子->根】 的思路【这里的序指的是根的顺序】 
    2. 写的时候抽出单独的方法,不然返回值不太好返回。
  • 相关阅读:
    Centos7使用systemd 管理elasticsearch,创建elasticsearch服务
    nginx日志切割的2种方法
    sudo linux
    redis 重启不了
    类与对象
    用Python写一个小的购物车
    包的使用
    Python模块简介
    zookeeper & Dubbo
    迭代器 & 生成器
  • 原文地址:https://www.cnblogs.com/junbaba/p/14163467.html
Copyright © 2011-2022 走看看