力扣 144.二叉树的前序遍历
目录
- 1.解题思路
- 2.代码实现
- 2.1获得节点数接口:
- 2.2递归接口:
- 2.3最终实现
1.解题思路
该题要利用前序遍历,将树的值存到数组中,所以在申请空间的时候,我们需要知道要申请多少空间,也就是要知道树到底有多少个结点,因此第一步要写个函数实现获得树的节点数,又因为该题提供的接口里写了申请空间,因为本题自带的接口不适合递归,所以我们可以将递归操作再另外写个函数来实现.
2.代码实现
2.1获得节点数接口:
int TreeNums(struct TreeNode* root)
{if(root==NULL)return 0;return TreeNums(root->left)+TreeNums(root->right)+1;}
2.2递归接口:
void Prev(struct TreeNode* root,int *a,int *i)
{if(root==NULL)return ;a[(*i)++]=root->val;Prev(root->left,a,i);Prev(root->right,a,i);
}
2.3最终实现
int TreeNums(struct TreeNode* root)
{if(root==NULL)return 0;return TreeNums(root->left)+TreeNums(root->right)+1;}void Prev(struct TreeNode* root,int *a,int *i)
{if(root==NULL)return ;a[(*i)++]=root->val;Prev(root->left,a,i);Prev(root->right,a,i);
}int* preorderTraversal(struct TreeNode* root, int* returnSize)
{int size=TreeNums(root);int *a=(int*)malloc(sizeof(int)*size);int pi=0;Prev(root,a,&pi);*returnSize=size;return a;
}
结尾:今天的分享到此结束,喜欢的朋友如果感觉有帮助可以点赞三连支持,咱们共同进步!
相关文章:
力扣 144.二叉树的前序遍历
目录 1.解题思路2.代码实现2.1获得节点数接口:2.2递归接口:2.3最终实现 1.解题思路 该题要利用前序遍历,将树的值存到数组中,所以在申请空间的时候,我们需要知道要申请多少空间,也就是要知道树到底有多少个结点,因此第…...
Ubuntu网络问题的解决
这里写目录标题 ubuntu 显示网络已连接,但是打不开浏览器:imagemagickimagemagick的安装imagick查看版本号imagemagick的命令介绍 ceres solver 介绍 ubuntu 显示网络已连接,但是打不开浏览器: sudo service network-manager sto…...
Git 本地服务器搭建 Windows
git 安装参考:Git的安装、配置、使用01【Git Bash Here命令行操作】-CSDN博客 gitLab 服务端安装及配置参考:Windows环境搭建 Gitlab 服务器_gitlab windows_测试工程师成长之路的博客-CSDN博客...
【数值计算方法(黄明游)】常微分方程初值问题的数值积分法:欧拉方法(向后Euler)【理论到程序】
文章目录 一、数值积分法1. 一般步骤2. 数值方法 二、欧拉方法(Euler Method)1. 向前欧拉法(前向欧拉法)2. 向后欧拉法(后向欧拉法)a. 基本理论b. 算法实现 常微分方程初值问题的数值积分法是一种通过数值方…...
mac安装homebrew/brew遇到443
文章目录 问题描述解决方法方法一方法二 参考文献 问题描述 brew 全称Homebrew 是Mac OSX上的软件包管理工具 想在mac终端安装,运行网上提供的指令 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)&quo…...
VSCODE 在新窗口中打开
使用VS习惯了,经常在新窗口中打开查看 但是VSCODE,无法拖动标签到一个新窗口中,一直以为没这个功能 后来发现 使用快捷健 ctlk,o 可以将标签页在新窗口中打开,虽然不如vsstudio方便,不过也可实现在新窗口打开的功能…...
Python与设计模式--解释器模式
23种计模式之 前言 (5)单例模式、工厂模式、简单工厂模式、抽象工厂模式、建造者模式、原型模式、(7)代理模式、装饰器模式、适配器模式、门面模式、组合模式、享元模式、桥梁模式、(11)策略模式、责任链模式、命令模式、中介者模…...
代码随想录算法训练营第36天| 435. 无重叠区间 763.划分字母区间 56. 合并区间
JAVA代码编写 435. 无重叠区间 给定一个区间的集合 intervals ,其中 intervals[i] [starti, endi] 。返回 需要移除区间的最小数量,使剩余区间互不重叠 。 示例 1: 输入: intervals [[1,2],[2,3],[3,4],[1,3]] 输出: 1 解释: 移除 [1,3] 后&#x…...
1990-2021年上市公司排污费和环境保护税数据
1990-2021年上市公司排污费和环境保护税数据 1、时间:1990-2021年 2、指标: 证券代码、会计期间、year、month、行业、应缴排污费/环境保护税、其中:大气污染物、其中:水污染物、其中:固体废物、其中:噪…...
MySQL主从复制架构
MySQL主从复制架构 一、MySQL集群概述 ##1、集群的主要类型 高可用集群(High Available Cluster,HA Cluster) 高可用集群是指通过特殊的软件把独立的服务器连接起来,组成一个能够提供故障切换(Fail Over)…...
制作心理咨询小程序的详细指南
随着科技的的发展,小程序已经成为了人们日常生活中不可或缺的一部分。特别是在心理咨询这个领域,小程序可以提供一个更为便捷、高效的服务平台。本文将通过乔拓云平台为例,详细介绍如何制作一个心理咨询小程序。 首先,我们需要注册…...
Apache httpd-2.4安装并配置转发
目录 一、写在前面二、下载Apache三、编译安装依赖库3.1 编译安装apr3.2 编译安装apr-util3.3 编译安装pcre 四、编译安装及启动Apache4.1 编译安装Apache4.2 启动Apache 五、配置Apache5.1 备份 httpd.conf5.2 启用代理模块5.3 修改监听端口5.4 配置转发规则 六、常用指令6.1 …...
【Cisco Packet Tracer】DHCP/FTP/WEB/DNS实验
本文使用CiscoPacketTracer仿真软件实现了DHCP/FTP/WEB/DNS实验,拓扑中包含2个客户机和3个服务器(DHCP服务器、DNS服务器、FTP/WEB公用一个服务器),客户机的IP地址由DHCP服务器动态分配。 DHCP服务器IP地址:192.168.0…...
模糊C均值聚类(Fuzzy C-means clustering,FCM)的基本概念,详细流程以及广泛应用!
文章目录 1.基本概念2. FCM的详细流程3.FCM的应用 1.基本概念 模糊C均值聚类(Fuzzy C-means clustering,FCM)是一种软聚类方法,它允许数据点属于多个聚类中心,每个聚类中心都有一个权重。与传统的硬聚类方法ÿ…...
chapter10-homework-Java
第十章作业 Homework01知识点 Homework02知识点 Homework03知识点 Homework04知识点 Homework05知识点 Homework06Homework07Homework08 Homework01 分析执行结果。 public static void main(String[] args) {Car_ c new Car_();Car_ c1 new Car_(100);System.out.println(…...
前端如何中断请求 ( axios、原生 ajax、fetch)
使用场景 在前端开发中,我们经常需要中断请求来优化性能或处理特定的业务需求。以下是一些常见的使用场景: 比如 重复请求:当页面中多个组件并发调用同一个接口时,在第一个请求返回后,我们可能需要中断其他组件对该接…...
CSS实现一些小功能
1.信封边框的实现 1.1 使用背景渐变 <!DOCTYPE html><html><head><meta charset"UTF-8"><title></title><style type"text/css">.uu {width: 200px;height: 70px;padding:1em;border: 1em solid transparent;…...
Ubuntu安装nfs服务步骤
Ubuntu安装nfs服务步骤 一、NFS? NFS:网络文件系统(Network File system File)缩写,可通过网络让不同的机器,不同操作系统之间可以彼此共享文件和目录。 二、安装 1.安装nfs服务器命令:sudo…...
android开发:子线程更新UI界面
多线程操作经常希望在子线程更新界面,这样方便调试,但是,但是经常这样做程序就不对劲了,为什么呢?因为为了保证界面流畅,不允许在非UI线程直接操作界面,只能通过一些专门途径进行。另外…...
P9242 [蓝桥杯 2023 省 B] 接龙数列(dp+最长接龙序列+分类)
1. 计算0~9为结尾的最长子串长度 2. 对于每个数字,比较其开头可连接子串长度1 与 原来以其末位为末尾的子串长度 3. 更新以其末位为末尾的子串长度 #include<iostream> #include<string.h>using namespace std;// 相当于记录…...
新手零基础入门:用快马ai生成win10系统openclaw安装图文指南代码
作为一个刚接触自动化测试的新手,我在Windows 10上安装OpenClaw时踩了不少坑。环境配置、依赖冲突、路径问题...每一步都可能让初学者抓狂。后来我发现用InsCode(快马)平台可以快速生成图文并茂的安装指南代码,把复杂流程拆解成可执行的步骤脚本…...
Applio实时语音处理揭秘:低延迟直播变声技术
Applio实时语音处理揭秘:低延迟直播变声技术 【免费下载链接】Applio A simple, high-quality voice conversion tool focused on ease of use and performance. 项目地址: https://gitcode.com/gh_mirrors/ap/Applio Applio是一款专注于易用性和高性能的实时…...
HTML函数开发需要多少瓦电源_整机功耗估算指南【说明】
最准方法是用电力功耗仪实测整机交流输入功率;鲁大师靠查表估算易失真;HTML开发真实耗电来自浏览器、框架、开发服务等;选电源须看12V输出能力和80 PLUS认证。怎么看当前整机真实功耗(不是TDP,是插座上真烧的电&#x…...
DAMOYOLO-S在智慧农业中的应用:无人机农田监测分析
DAMOYOLO-S在智慧农业中的应用:无人机农田监测分析 1. 引言 想象一下,你站在一片广阔的农田边,想要知道这片地里有多少棵玉米苗,有没有生病,长势怎么样。靠人眼去数、去看,不仅费时费力,还容易…...
实战指南:基于快马平台构建centos生产环境openclaw服务化部署与监控方案
今天在InsCode(快马)平台上折腾了一整天,终于把openclaw在生产环境的部署方案跑通了。这个工具平时都是作为子模块使用,但真正要放到CentOS服务器上长期运行,还是有不少细节要注意的。记录下我的实战经验,给有类似需求的伙伴参考。…...
应对复杂实战场景:基于快马平台生成动态网页爬虫完整解决方案
今天想和大家分享一个实战中的Python爬虫项目,主要解决动态渲染社交媒体网站的数据抓取问题。这类网站通常采用JavaScript动态加载内容,传统的requests库很难直接获取数据,需要借助浏览器自动化工具。 项目背景与难点分析 动态网页爬虫的核…...
革命性Vue动画库@vueuse/motion:10分钟实现惊艳交互动效
革命性Vue动画库vueuse/motion:10分钟实现惊艳交互动效 【免费下载链接】motion 🤹 Vue Composables putting your components in motion 项目地址: https://gitcode.com/gh_mirrors/moti/motion vueuse/motion 是一个革命性的Vue动画库ÿ…...
如何快速实现React组件热更新:React Hot Loader终极指南 [特殊字符]
如何快速实现React组件热更新:React Hot Loader终极指南 🚀 【免费下载链接】react-hot-loader Tweak React components in real time. (Deprecated: use Fast Refresh instead.) 项目地址: https://gitcode.com/gh_mirrors/re/react-hot-loader …...
为什么说res-downloader能3步搞定全网资源下载?从新手到高手的实战指南
为什么说res-downloader能3步搞定全网资源下载?从新手到高手的实战指南 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader…...
PyTorch模型保存超简单
💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 PyTorch模型保存的深度实践:超越简单save()的可复现性革命目录PyTorch模型保存的深度实践:超越简单save(…...
