美文网首页
二叉树的搜索

二叉树的搜索

作者: 花样年糕 | 来源:发表于2018-09-14 18:07 被阅读0次

    1.深度优先搜索,用栈来实现。

    public class DepthFirstSearch {

    public void search(TreeNode root) {

    Stack<TreeNode> stack = new Stack<>();

    stack.push(root);

    while (!stack.isEmpty()) {

    TreeNode cur = stack.pop();

    System.out.println(cur.val);

    if (cur.right != null) {

    stack.push(cur.right);

    }

    if (cur.left != null) {

    stack.push(cur.left);

    }

    }

    }

    }

    2.广度优先搜索,用队列来实现。

    public class BreathFirstSearch {

    public void search(TreeNode root) {

    Queue<TreeNode> queue = new LinkedList<>();

    queue.offer(root);

    while (!queue.isEmpty()) {

    TreeNode cur = queue.poll();

    System.out.println(cur.val);

    if (cur.left != null) {

    queue.offer(cur.left);

    }

    if (cur.right != null) {

    queue.offer(cur.right);

    }

    }

    }

    }

    相关文章

      网友评论

          本文标题:二叉树的搜索

          本文链接:https://www.haomeiwen.com/subject/ghfagftx.html