• 牛客每日刷题之二叉树


     

    ✅作者简介:我是18shou,一名即将秋招的java实习生

    ✨个人主页:_18shou

    🔥系列专栏:牛客刷题专栏

    📃推荐一款模拟面试、刷题神器👉 在线刷题面经模拟面试

    目录

    题目

    思路

    题解

    复杂度

    📃结语


    题目

    操作给定的二叉树,将其变换为源二叉树的镜像。
    数据范围:二叉树的节点数0≤n≤1000,二叉树每个节点的值0≤ val≤1000
    要求:空间复杂度0(m).本题也有原地操作,即空间复杂度0(1)的解法,时间复杂度0(n)

     

    思路

    主要是利用栈(或队列)遍历树的所有节点node,并交换每个node的左/右子节点
    算法流程:
    1、 特例处理:当pRoot为空时, 直接返回null ;
    2、初始化:栈(或队列),本文用栈stack,并加入根节点pRoot。
    3、循环交换:当栈 stack为空时跳出;
    3.1、出栈:记为node ;
    3.2、添加子节点:将node左和右子节点入栈; .
    3.3、交换:交换node的左1右子节点。
    4、返回值:返回根节点pRoot。

    题解

    1. import java.util.*;
    2. /*
    3. * public class TreeNode {
    4. * int val = 0;
    5. * TreeNode left = null;
    6. * TreeNode right = null;
    7. * public TreeNode(int val) {
    8. * this.val = val;
    9. * }
    10. * }
    11. */
    12. public class Solution {
    13. /**
    14. * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
    15. *
    16. *
    17. * @param pRoot TreeNode类
    18. * @return TreeNode类
    19. */
    20. public TreeNode Mirror (TreeNode pRoot) {
    21. // write code here
    22. if(pRoot == null) return null;
    23. // 构建辅助栈
    24. Stack stack = new Stack<>();
    25. // 根节点入栈
    26. stack.add(pRoot);
    27. while(!stack.isEmpty()) {
    28. // 节点出栈
    29. TreeNode node = stack.pop();
    30. // 根节点的左右子树入栈
    31. if(node.left != null) stack.add(node.left);
    32. if(node.right != null) stack.add(node.right);
    33. // 左右子树交换
    34. TreeNode tmp = node.left;
    35. node.left = node.right;
    36. node.right = tmp;
    37. }
    38. return pRoot;
    39. }
    40. }

    复杂度


    时间复杂度O(N):其中N为二叉树的节点数量,建立二叉 树镜像需要遍历树的所有节点,占用O(N)时间。
    空间复杂度O(N):最差情况下(当二叉树退化为链表),递归时系统需 使用O(N)大小的栈空间

    📃结语

    兄弟们,一起来刷题👉嘎嘎的写题

  • 相关阅读:
    阶段性工作总结
    vue基础相关问题:vue指令和动态及计算机属性
    Ubuuntu22.04 LTS 用户管理,新建用户 adduser,sudo,管理员用户
    java:方法的重载/覆盖、多态
    PMP中的T型人才
    MySQL之my.cnf配置文件
    uniapp开发h5,修改原生导航栏,自定义按钮
    LeetCode每日一练 —— OR36 链表的回文结构
    C++ 提高编程 黑马教程(05)
    react拖拽依赖库react-dnd
  • 原文地址:https://blog.csdn.net/m0_60264772/article/details/126360155