二分木探索法の要約

1.二分木プレオーダートラバーサル再帰的および反復法。

ルートの周りをトラバースしてルートをスタックにプッシュしてから、右側のサブツリーと左側のサブツリーをプッシュします。根が前(根の左右)にあるので、子が根を横切るたびに、根が前にあり、押し込むと出てきて、根の性質は無視できます。スタックの特性による。左右のサブツリーが押される順序が逆になります。写真を参照してください    。

暗唱:スタックが空でないときにpush(root)し、ポップアップし、左右を押します

    public static void preOrderRecur(TreeNode head) {
        if (head == null) {
            return;
        }
        System.out.print(head.value + " ");//res.add(head.val)
        preOrderRecur(head.left);
        preOrderRecur(head.right);
    }
------------------------------------------------------------

  public void preorderTraversal(TreeNode p) {
        if (p == null) return;
        Deque<TreeNode> stack = new ArrayDeque<>();
        stack.push(p);
        while (!stack.isEmpty()) {
            TreeNode tmp = stack.poll();
            Syst

おすすめ

転載: blog.csdn.net/yu1336199790/article/details/111395857