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

二叉树算法之【前序遍历】

目录

LeetCode-144题


LeetCode-144题

给定二叉树的根节点root,返回它节点值的前序遍历。

class Solution {public List<Integer> preorderTraversal(TreeNode root) {List<Integer> result = new ArrayList<>();order(root, result);return result;}private void order(TreeNode root, List<Integer> pre) {//当前节点TreeNode curr = root;//借助栈LinkedList<TreeNode> stack = new LinkedList<>();//最近一次pop的元素TreeNode pop = null;while (curr != null || !stack.isEmpty()) {if (curr != null) {stack.push(curr);pre.add(curr.val);//待处理左节点curr = curr.left;} else {//栈不为空TreeNode peek = stack.peek();//右节点为空if (peek.right == null) {pop = stack.pop();}//右节点处理完else if (peek.right == pop) {pop = stack.pop();}//处理右节点else {curr = peek.right;}}}}
}

http://www.dtcms.com/a/312859.html

相关文章:

  • 三生原理的“范畴语法”如何启发AI推理?
  • Spring Boot 整合 Minio 实现高效文件存储解决方案(本地和线上)
  • 个人项目介绍:语音识别小助手
  • Spring AI的英语实例
  • Nginux Rewte 相关功能
  • 基于Python实现生产者—消费者分布式消息队列:构建高可用异步通信系统
  • Rustdesk中继服务器搭建(windows 服务器)
  • 【硬件-笔试面试题】硬件/电子工程师,笔试面试题-56,(知识点:电源模块,DCDC电源,LDO电源,原理及其特点)
  • Java(HashMap和HashTable和Properties)
  • kafka 是一个怎样的系统?是消息队列(MQ)还是一个分布式流处理平台?
  • 哔哩哔哩招游戏内容产品运营
  • Ubuntu22.4部署大模型前置安装
  • 零确认双花攻击
  • 智变时代:AI 如何重构工作边界与行业生态?
  • 【软考中级网络工程师】知识点之 IS-IS 协议
  • 百度招黑产溯源安全工程师
  • Spring AOP_2
  • CPA全国青少年编程能力等级测评试卷及答案 Python编程(一级)
  • 【代码详解】Triplane Meets Gaussian Splatting中triplane部分解析
  • 【代码随想录|454.四数相加、383.赎金信、15.三数之和、18.四数之和】
  • 模拟-6.N字形变换-力扣(LeetCode)
  • GPIO交换矩阵和IO_MUX
  • Python Seaborn【数据可视化库】 全面讲解
  • node.js常用函数
  • web前端React和Vue框架与库安全实践
  • Elastic 9.1/8.19:默认启用 BBQ,ES|QL 支持跨集群搜索(CCS)正式版,JOINS 正式版,集成 Azure AI Foundry
  • Python爬虫实战:研究awesome-python工具,构建技术资源采集系统
  • 【C语言】结构体详解
  • 第15届蓝桥杯Scratch图形化国赛初/中级组2024年9月7日真题
  • 使用DrissionPage实现xhs笔记自动翻页并爬取笔记视频、图片