当前位置: 首页 > news >正文

局域网网站开发织梦 xml网站地图

局域网网站开发,织梦 xml网站地图,深圳排名seo,湖南关键词排名推广文章目录 二叉树递归遍历解题思路代码总结 二叉树的迭代遍历解题思路代码总结 二叉树的统一迭代法解题思路代码总结 草稿图网站 java的Deque 二叉树递归遍历 题目: 144.二叉树的前序遍历 94.二叉树的中序遍历 145.二叉树的后序遍历 解析:代码随想录解析…

文章目录

    • 二叉树递归遍历
      • 解题思路
      • 代码
      • 总结
    • 二叉树的迭代遍历
      • 解题思路
      • 代码
      • 总结
    • 二叉树的统一迭代法
      • 解题思路
      • 代码
      • 总结

草稿图网站
java的Deque

二叉树递归遍历

题目:
144.二叉树的前序遍历
94.二叉树的中序遍历
145.二叉树的后序遍历
解析:代码随想录解析

解题思路

递归遍历
前序:NLR
中序:LNR
后序:LRN

代码

/*** 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> preorderTraversal(TreeNode root) {List<Integer> res = new ArrayList<Integer>();preorder(root, res);return res;}public void preorder(TreeNode root, List<Integer> res){if (root == null)return;res.add(root.val);preorder(root.left, res);preorder(root.right, res);}
}//中序
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);}
}
//后序
class Solution {public List<Integer> postorderTraversal(TreeNode root) {List<Integer> res = new ArrayList<Integer>();postorder(root, res);return res;}public void postorder(TreeNode root, List<Integer> res){if (root == null)return;postorder(root.left, res);postorder(root.right, res);res.add(root.val);}
}

总结

暂无

二叉树的迭代遍历

题目:
144.二叉树的前序遍历
94.二叉树的中序遍历
145.二叉树的后序遍历
解析:代码随想录解析

解题思路

前序:利用一个栈,每次出栈并入栈。
中序:利用一个栈,cur指向root节点,一直走左子树并入栈到空;cur为空时输出栈顶的val,然后使cur指向出栈节点右子树,重复上述步骤。
后序:LRN反过来是NRL,也就是前序换一下,最后倒转一下。

代码

/*** 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> preorderTraversal(TreeNode root) {List<Integer> res = new ArrayList<Integer>();if (root == null)return res;Stack<TreeNode> stack = new Stack<TreeNode>();stack.push(root);while(!stack.isEmpty()){TreeNode tmp = stack.pop();res.add(tmp.val);if (tmp.right != null)stack.push(tmp.right);if (tmp.left != null)stack.push(tmp.left);}return res;}
}//中序
class Solution {public List<Integer> inorderTraversal(TreeNode root) {List<Integer> res = new ArrayList<Integer>();if (root == null)return res;Stack<TreeNode> stack = new Stack<TreeNode>();TreeNode cur = root;while (!stack.isEmpty() || cur != null){if (cur != null){stack.push(cur);cur = cur.left;}else{cur = stack.pop();res.add(cur.val);cur = cur.right;}}return res;}
}//后序
class Solution {public List<Integer> postorderTraversal(TreeNode root) {List<Integer> res = new ArrayList<Integer>();if (root == null)return res;Stack<TreeNode> stack = new Stack<TreeNode>();stack.push(root);while(!stack.isEmpty()){TreeNode tmp = stack.pop();res.add(tmp.val);if (tmp.left != null)stack.push(tmp.left);if (tmp.right != null)stack.push(tmp.right);}Collections.reverse(res);return res;}
}

总结

死去的408记忆在攻击我

二叉树的统一迭代法

题目:
144.二叉树的前序遍历
94.二叉树的中序遍历
145.二叉树的后序遍历
解析:代码随想录解析

解题思路

代码结构和递归遍历相似。下面是模拟步骤图
前序
在这里插入图片描述

中序
在这里插入图片描述

后序:
在这里插入图片描述

代码

/*** 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> preorderTraversal(TreeNode root) {List<Integer> res = new ArrayList<Integer>();if (root == null)return res;Stack<TreeNode> stack = new Stack<TreeNode>();stack.push(root);while(!stack.isEmpty()){TreeNode node = stack.peek();if (node != null){stack.pop();if (node.right != null) stack.push(node.right);if (node.left != null)  stack.push(node.left);stack.push(node);stack.push(null);    }else{stack.pop();node = stack.pop();res.add(node.val);}}return res;}
}//中序
class Solution {public List<Integer> inorderTraversal(TreeNode root) {List<Integer> res = new ArrayList<Integer>();if (root == null)return res;Stack<TreeNode> stack = new Stack<TreeNode>();stack.push(root);while(!stack.isEmpty()){TreeNode node = stack.peek();if (node != null){stack.pop();if (node.right != null) stack.push(node.right);stack.push(node);stack.push(null); if (node.left != null)  stack.push(node.left);}else{stack.pop();node = stack.pop();res.add(node.val);}}return res;}
}//后序
class Solution {public List<Integer> postorderTraversal(TreeNode root) {List<Integer> res = new ArrayList<Integer>();if (root == null)return res;Stack<TreeNode> stack = new Stack<TreeNode>();stack.push(root);while(!stack.isEmpty()){TreeNode node = stack.peek();if (node != null){stack.pop();stack.push(node);stack.push(null); if (node.right != null) stack.push(node.right);if (node.left != null)  stack.push(node.left);}else{stack.pop();node = stack.pop();res.add(node.val);}}return res;}
}

总结

感觉记住了,感觉。

http://www.yayakq.cn/news/374024/

相关文章:

  • 苏州seo网站推广公司wordpress 个人简历
  • 上海建设银行招聘网站wordpress 最热文章
  • 网站建设主要包括哪些Pk10网站建设多少钱
  • 做淘宝需要知道什么网站吗成都设计网站的公司名称
  • wordpress+特色缩略图什么网站利于优化
  • 网站计算机速成培训班南海顺德网站建设费用
  • 上海推广网站公司移动网站cms
  • 微信里的商家链接网站怎么做的网站功能分析
  • 网站开发多线程开发wordpress wpzoom
  • 深圳市建设主管部门门户网站seo在线培训机构
  • 济南做网站价格婚恋网站的架构
  • 个人网站建设方案书使用几号纸苏州园区两学一做网站
  • 国外网站配色大气简洁的WordPress主题
  • 行业门户型网站制作制作灯笼作文
  • 网站分析论文深圳专门做兼职的网站
  • 查域名的网站wordpress 主题 恢复
  • 模板网站建设平台美工网站设计收费
  • 网站视频放优酷里面怎么做网站建设与域名建设
  • 制作外贸网站的公司简介东莞seo优化方案
  • 山东德州做网站青岛宣传片制作公司
  • 建设工业网站网站建设需求方案pdf
  • 网站模板 数据库如何做采集网站
  • 豪柏大厦做网站的公司企业网站排名提升软件智能优化
  • 公司网站建设方案俄罗斯军事最新消息
  • 公墓网站建设哪类网站流量大
  • 专门做图片是网站网站和域名的关系
  • 建筑工程网签备案合同seo优化排名易下拉用法
  • 中国建设银行网站太慢了中国房地产十大排名
  • 网站关键字布局手机优化助手下载
  • 怎么制作外贸网站模板博客网站开发