LNMT部署jpress
LNMT部署jpress
环境要求:
MySQL版本5.6/5.7
tomcat版本9.0.65
源码安装MySQL5.7版
//源码安装MySQL5.7版1关闭防火墙
2创建mysql用户
3上传mysql5.7包(https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz)解压包
[root@web2 ~]#: tar xf mysql-8.0.35-linux-glibc2.28-x86_64.tar.xz -C /usr/local/[root@web2 ~]# cd /usr/local/
[root@web2 local]# mv mysql-5.7.30-linux-glibc2.12-x86_64/ mysql-5.7设置环境变量
[root@web2 local]# cd mysql-5.7/
[root@web2 mysql-5.7]# ls
bin docs include lib LICENSE man README share support-files
[root@web2 mysql-5.7]# echo 'export PATH=/usr/local/mysql-5.7/bin:$PATH' > /etc/profile.d/mysql-5.7.sh
[root@web2 mysql-5.7]# source /etc/profile.d/mysql-5.7.sh
[root@web2 mysql-5.7]# which mysql
/usr/local/mysql-5.7/bin/mysql创建软连接
[root@web2 mysql-5.7]# ln -s /usr/local/mysql-5.7/include/ /usr/include/mysql-5.7配置lib库文件
[root@web2 mysql-5.7]# vim /etc/ld.so.conf.d/mysql-5.7.conf
[root@web2 mysql-5.7]# cat /etc/ld.so.conf.d/mysql-5.7.conf
/use/local/mysql-5.7/lib配置man文档
[root@web2 mysql-5.7]# vim /etc/man_db.conf
添加
MANDATORY_MANPATH /usr/local/mysql-5.7/man更改所属权限
[root@web2 mysql-5.7]# chown -R mysql.mysql /usr/local/mysql-5.7/
[root@web2 mysql-5.7]# ll
总用量 292
drwxr-xr-x 2 mysql mysql 4096 2月 27 14:13 bin
drwxr-xr-x 2 mysql mysql 55 2月 27 14:13 docs
drwxr-xr-x 3 mysql mysql 4096 2月 27 14:13 include
drwxr-xr-x 5 mysql mysql 4096 2月 27 14:13 lib
-rw-r--r-- 1 mysql mysql 275235 3月 24 2020 LICENSE
drwxr-xr-x 4 mysql mysql 30 2月 27 14:13 man
-rw-r--r-- 1 mysql mysql 587 3月 24 2020 README
drwxr-xr-x 28 mysql mysql 4096 2月 27 14:13 share
drwxr-xr-x 2 mysql mysql 90 2月 27 14:13 support-files创建数据库数据目录
初始化
[root@web2 mysql-5.7]# mkdir /opt/test
[root@web2 mysql-5.7]# mysqld --initialize --user=mysql --datadir=/opt/test/
2024-02-27T06:41:39.272419Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2024-02-27T06:41:39.405698Z 0 [Warning] InnoDB: New log files created, LSN=45790
2024-02-27T06:41:39.428111Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2024-02-27T06:41:39.481601Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 42c14fc1-d53b-11ee-b66e-000c294b2c31.
2024-02-27T06:41:39.482152Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2024-02-27T06:41:40.052229Z 0 [Warning] CA certificate ca.pem is self signed.
2024-02-27T06:41:40.156300Z 1 [Note] A temporary password is generated for root@localhost: Gl6Ag0%MlOwj配置my.cnf文件
[root@web2 mysql]# vim /etc/my.cnf
[root@web2 mysql]# cat /etc/my.cnf[mysqld]
basedir = /usr/local/mysql-5.7
datadir = /opt/test
socket = /tmp/mysql.sock
port = 3307
pid-file = /opt/data/mysql.pid
user = mysql
skip-name-resolve[root@web2 ~]# /usr/local/mysql-5.7/support-files/mysql.server start
Starting MySQL. SUCCESS!
[root@web2 ~]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 4096 127.0.0.1:9000 0.0.0.0:*
LISTEN 0 511 0.0.0.0:80 0.0.0.0:*
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 1 [::ffff:127.0.0.1]:8005 *:*
LISTEN 0 80 *:3307 *:*
LISTEN 0 100 *:8081 *:*
LISTEN 0 128 [::]:22 [::]:* 设置开机自启
[root@web2 ~]# cp /usr/lib/systemd/system/sshd.service /usr/lib/systemd/system/mysql-5.7.service
[root@web2 ~]# vim /usr/lib/systemd/system/mysql-5.7.service
[root@web2 ~]# cat /usr/lib/systemd/system/mysql-5.7.service
[Unit]
Description=mysqld server daemon
After=network.target [Service]
Type=forking
ExecStart=/usr/local/mysql-5.7/support-files/mysql.server start
ExecStop=/usr/local/mysql-5.7/support-files/mysql.server stop
ExecReload=/bin/kill -HUP $MAINPID[Install]
WantedBy=multi-user.target[root@web2 ~]# systemctl daemon-reload
[root@web2 ~]# systemctl status mysql-5.7.service
○ mysql-5.7.service - mysqld server daemonLoaded: loaded (/usr/lib/systemd/system/mysql-5.7.service; disabled; vendor preset: disabled)Active: inactive (dead)[root@web2 ~]# systemctl start mysql-5.7.service
[root@web2 ~]# systemctl enable mysql-5.7.service
Created symlink /etc/systemd/system/multi-user.target.wants/mysql-5.7.service → /usr/lib/systemd/system/mysql-5.7.service.
[root@web2 ~]# systemctl status mysql-5.7.service
● mysql-5.7.service - mysqld server daemonLoaded: loaded (/usr/lib/systemd/system/mysql-5.7.service; enabled; vendor preset: disabled)Active: active (running) since Tue 2024-02-27 15:12:07 CST; 24s agoMain PID: 3573 (mysqld_safe)Tasks: 28 (limit: 22948)Memory: 178.1MCPU: 310msCGroup: /system.slice/mysql-5.7.service├─3573 /bin/sh /usr/local/mysql-5.7/bin/mysqld_safe --datadir=/opt/test --pid-file=/opt/da>└─3763 /usr/local/mysql-5.7/bin/mysqld --basedir=/usr/local/mysql-5.7 --datadir=/opt/test >2月 27 15:12:06 web2 systemd[1]: Starting mysqld server daemon...
2月 27 15:12:07 web2 mysql.server[3560]: Starting MySQL. SUCCESS!
2月 27 15:12:07 web2 systemd[1]: Started mysqld server daemon.[root@web2 ~]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 4096 127.0.0.1:9000 0.0.0.0:*
LISTEN 0 511 0.0.0.0:80 0.0.0.0:*
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 1 [::ffff:127.0.0.1]:8005 *:*
LISTEN 0 80 *:3307 *:*
LISTEN 0 100 *:8081 *:*
LISTEN 0 128 [::]:22 [::]:* 设置数据库密码
[root@web2 ~]# mysql -uroot -p'Gl6Ag0%MlOwj'
mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory
[root@web2 ~]# mysql
mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory
如报以上错误,设置软连接
[root@web2 ~]# find / -name libtinfo.so*
/usr/lib64/libtinfo.so.6
/usr/lib64/libtinfo.so.6.2
/usr/lib64/libtinfo.so
[root@web2 ~]# ln -s /usr/lib64/libtinfo.so.6 /usr/lib64/libtinfo.so.5
[root@web2 ~]# ln -s /usr/lib64/libncurses.so.6 /usr/lib64/libncurses.so.5[root@web2 ~]# mysql -uroot -p'Gl6Ag0%MlOwj'
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.30Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql>set password = password('mysql5-7');
Query OK, 0 rows affected, 1 warning (0.00 sec)
部署tomcat9.0.65版
部署tomcat9.0.65版[root@web2 ~]# wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.65/bin/apache-tomcat-9.0.65.tar.gz
--2024-02-27 16:35:03-- https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.65/bin/apache-tomcat-9.0.65.tar.gz
正在解析主机 archive.apache.org (archive.apache.org)... 65.108.204.189, 2a01:4f9:1a:a084::2
正在连接 archive.apache.org (archive.apache.org)|65.108.204.189|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:11593900 (11M) [application/x-gzip]
正在保存至: “apache-tomcat-9.0.65.tar.gz”apache-tomcat-9.0.65.tar. 100%[=====================================>] 11.06M 176KB/s 用时 1m 40s 2024-02-27 16:36:44 (113 KB/s) - 已保存 “apache-tomcat-9.0.65.tar.gz” [11593900/11593900])[root@web2 ~]# tar xf apache-tomcat-9.0.65.tar.gz -C /usr/local/
[root@web2 ~]# cd /usr/local/
[root@web2 local]# ls
apache-tomcat-10.1.19 bin games lib libexec mysql-5.7 php8 share
apache-tomcat-9.0.65 etc include lib64 mysql nginx sbin src
[root@web2 local]# ln -s /usr/local/apache-tomcat-9.0.65/ jpress
[root@web2 local]# cd jpress/
[root@web2 jpress]# cp /usr/lib/systemd/system/sshd.service /usr/lib/systemd/system/tomcat9.service
[root@web2 jpress]# vim /usr/lib/systemd/system/tomcat9.service
[root@web2 jpress]# cat /usr/lib/systemd/system/tomcat9.service
[Unit]
Description=tomcat server daemon
After=network.target[Service]
Type=forking
ExecStart=/usr/local/jpress/bin/catalina.sh start
ExecStop=/usr/local/jpress/bin/catalina.sh stop
ExecReload=/bin/kill -HUP $MAINPID[Install]
WantedBy=multi-user.target[root@web2 jpress]# systemctl status tomcat9.service
○ tomcat9.service - tomcat server daemonLoaded: loaded (/usr/lib/systemd/system/tomcat9.service; disabled; vendor preset: disabled)Active: inactive (dead)
[root@web2 jpress]# systemctl enable --now tomcat9.service
[root@web2 jpress]# systemctl start tomcat9.service
[root@web2 jpress]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 4096 127.0.0.1:9000 0.0.0.0:*
LISTEN 0 511 0.0.0.0:80 0.0.0.0:*
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 1 [::ffff:127.0.0.1]:8005 *:*
LISTEN 0 80 *:3307 *:*
LISTEN 0 100 *:8080 *:*
LISTEN 0 128 [::]:22 [::]:*

部署jpress
jpresshttps://www.jpress.cn/
打包源代码war包
安装git
下载
[root@web2 ~]# git clone https://gitee.com/JPressProjects/jpress.git
正克隆到 'jpress'...
remote: Enumerating objects: 111600, done.
remote: Counting objects: 100% (1694/1694), done.
remote: Compressing objects: 100% (893/893), done.
remote: Total 111600 (delta 534), reused 1161 (delta 294), pack-reused 109906
接收对象中: 100% (111600/111600), 200.98 MiB | 542.00 KiB/s, 完成.
处理 delta 中: 100% (45760/45760), 完成.编译
[root@web2 ~]# cd jpress
[root@web2 jpress]# mvn clean package
......
......
......
将war包移动至家目录
[root@web2 ~]# cp -a /root/jpress/starter-tomcat/target/starter-tomcat-5.0.war ~/[root@web2 ~]# cd /usr/local/jpress/webapps/
[root@web2 webapps]# ls
docs examples host-manager manager ROOT 将war包复制到当前的webapps目录下,自动解压
[root@web2 webapps]# cp ~/starter-tomcat-5.0.war .
[root@web2 webapps]# ls
docs examples host-manager manager ROOT starter-tomcat-5.0.war
[root@web2 webapps]# ls
docs examples host-manager manager ROOT starter-tomcat-5.0 starter-tomcat-5.0.war

[root@web2 ~]# mysql -uroot -pmysql5-7
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.30 MySQL Community Server (GPL)Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> grant all on *.* to root@'%' identified by 'mysql5-7';
Query OK, 0 rows affected, 1 warning (0.00 sec)mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)mysql> quit

!(C:\Users\86133\Desktop\Linux基础命令二\1709024806789.png)

简单化访问
[root@web2 webapps]# ls
docs examples host-manager manager ROOT starter-tomcat-5.0 starter-tomcat-5.0.war
[root@web2 webapps]# rm -rf docs examples host-manager manager ROOT
[root@web2 webapps]# ls
starter-tomcat-5.0 starter-tomcat-5.0.war
[root@web2 webapps]# mv starter-tomcat-5.0 ROOT
[root@web2 webapps]# rm -rf *.war
[root@web2 webapps]# ls
ROOT



相关文章:
LNMT部署jpress
LNMT部署jpress 环境要求: MySQL版本5.6/5.7 tomcat版本9.0.65 源码安装MySQL5.7版 //源码安装MySQL5.7版1关闭防火墙 2创建mysql用户 3上传mysql5.7包(https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.30-linux-glibc2.12-x86_64.tar.g…...
汽车软件研发工具链丨怿星科技新产品重磅发布
“创新引领未来”聚焦汽车软件新基建,4月27日下午,怿星科技2024新产品发布会在北京圆满举行!智能汽车领域的企业代表、知名大企业负责人、投资机构代表、研究机构代表齐聚现场,线上直播同步开启,共同见证怿星科技从单点…...
Faiss原理及使用总结
Faiss(Facebook AI Similarity Search)是一个用于高效相似性搜索和密集向量聚类的库。 一、原理 向量表示与相似度度量:在Faiss中,数据通常被表示为高维向量,这些向量可以来自深度学习模型的特征提取,也可…...
跨越智能建筑桥梁:西门子PLC无缝对接BACnet楼宇自动化系统化
智能楼宇每一个环节的互联互通都至关重要,而PLC(可编程逻辑控制器)作为自动化领域的基石,其与BACnet协议的融合无疑成为了构建智能楼宇神经系统的关键节点。今天,让我们深入探讨如何利用先进的PLC转BACnet协议网关&…...
景源畅信电商:抖音小店有哪些比较热门的宣传方法?
抖音小店的热门宣传方法,是许多商家关注的焦点。在数字化营销时代,有效的宣传手段不仅能提升品牌知名度,还能吸引潜在消费者,促进销售。以下是针对抖音小店热门宣传方法的详细阐述: 一、短视频内容营销 作为抖音的核心…...
兄弟DCP-7057激光打印机报错误代码EC检修及分析
故障描述: 兄弟DCP-7057激光打印机屏幕显示无法打印EC关闭电源,然后重新打开打印机。 故障检修及分析: 1、定影单元风扇的插线连接不良 检查定影单元风扇的插线连接并重新连接; 2、定影单元风扇故障 更换定影单元风扇;…...
【华为】IPSec VPN手动配置
【华为】IPSec VPN手动配置 拓扑配置ISP - 2AR1NAT - Easy IPIPSec VPN AR3NATIPsec VPN PC检验 配置文档AR1AR2 拓扑 配置 配置步骤 1、配置IP地址,ISP 路由器用 Lo0 模拟互联网 2、漳州和福州两个出口路由器配置默认路由指向ISP路由器 3、进行 IPsec VPN配置&…...
面试题分享之Java集合篇(三)
注意:文章若有错误的地方,欢迎评论区里面指正 🍭 系列文章目录 面试题分享之Java基础篇(二)面试题分享之Java基础篇(三) 面试题分享之Java集合篇(一)、 面试题分享之Ja…...
【python】模拟巴特沃斯滤波器
巴特沃斯滤波器(Butterworth Filter),以其设计者斯蒂芬巴特沃斯(Stephen Butterworth)的名字命名,是一种具有平滑频率响应的滤波器。这种滤波器在频域中具有非常平坦的无波纹响应,直到它达到截止…...
面试题:简述Go的垃圾回收机制
Go的GC(Garbage Collection, 垃圾回收)机制主要是用来自动释放不再被程序使用的内存,以防止内存泄漏。Go的垃圾回收是并发的,也就是说,它在主程序运行的同时进行垃圾回收。 1. 标记清除(Mark and Sweep) Go的垃圾回收器主要使用的是标记清除…...
Vue、React实现excel导出功能(三种实现方式保姆级讲解)
第一种:后端返回文件流,前端转换并导出(常用,通常公司都是用这种方式) 第二种:纯后端导出(需要了解) 第三种:纯前端导出(不建议使用,数据处理放…...
初识C语言——第十六天
C语言中的语句结构类型:顺序/选择/循环 分支语句 if else switch 循环语句 while for do whlie goto语句 代码练习:找两个整数的最大公约数和最小公倍数 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h>//int main() //{ // int age 60; // if (ag…...
Vue的省份联动
Vue的省份联动 一、安装依赖库 npm install element-china-area-data -Snpm install element-ui --save全局使用elemntui组件库 import ElementUI from element-ui; import element-ui/lib/theme-chalk/index.css;Vue.use(ElementUI);二 、代码如下 <template><div…...
element-ui skeleton 组件源码分享
今日简单分享 skeleton 骨架屏组件源码,主要从以下四个方面来讲解: 1、skeleton 组件的页面结构 2、skeleton 组件的属性 3、skeleton item 组件的属性 4、skeleton 组件的 slot 一、skeleton 组件的页面结构 二、skeleton 组件的属性 2.1 animate…...
深度学习:基于TensorFlow、Keras,使用长短期记忆神经网络模型(LSTM)对Microsoft股票进行预测分析
前言 系列专栏:机器学习:高级应用与实践【项目实战100】【2024】✨︎ 在本专栏中不仅包含一些适合初学者的最新机器学习项目,每个项目都处理一组不同的问题,包括监督和无监督学习、分类、回归和聚类,而且涉及创建深度学…...
【websocket-客户端可视化工具】
postman 新版postman (版本v11以上) ,除了http协议,还支持了Websocket,MQTT,gRPC等多种连接协议,可以作为多种协议的客户端,使用起来非常方便。 使用 服务端代码 这里以websocket协议举例,代…...
STC8增强型单片机开发——C51版本Keil环境搭建
一、目标 了解C51版本Keil开发环境的概念和用途掌握C51版本Keil环境的安装和配置方法熟悉C51版本Keil开发环境的使用 二、准备工作 Windows 操作系统Keil C51 安装包(可以从Keil官网下载)一款8051单片机开发板 三、搭建流程 环境搭建的基本流程…...
Ansible——playbook编写
目录 环境配置 一、简介 1.什么是playbook 2.playbook组成 二、应用实例 1.基础命令 1.编写 ceshi1.yaml 文件 2.运行Playbook 2.定义、引用变量 1.编写ceshi2.yaml文件 3.指定远程主机sudo切换用户 1.编写ceshi3.yaml文件 2.修改被控主机sudoers文件 3.给zhangsa…...
95、动态规划-编辑距离
递归暴力解法 递归方法的基本思想是考虑最后一个字符的操作,然后根据这些操作递归处理子问题。 递归函数定义:定义一个递归函数 minDistance(i, j),表示将 word1 的前 i 个字符转换成 word2 的前 j 个字符所需的最小操作数。 递归终止条件…...
linux调试
文章目录 1. 使用打印来调试1.1 重定向1.2 标准预定义宏1.3 日志代码 2. 内核异常2.1 内核打印2.1.1 打印级别2.1.2 跟踪异常2.1.3 动态打印2.1.4 RAM console 2.2 OOPS2.2.1 有源代码的情况2.2.2 没有源代码的情况 3 查看日志4 工具调试 1. 使用打印来调试 1.1 重定向 2>…...
多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...
Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)
文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...
【Java学习笔记】Arrays类
Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...
CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...
苍穹外卖--缓存菜品
1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...
04-初识css
一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...
AI编程--插件对比分析:CodeRider、GitHub Copilot及其他
AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...
LeetCode - 199. 二叉树的右视图
题目 199. 二叉树的右视图 - 力扣(LeetCode) 思路 右视图是指从树的右侧看,对于每一层,只能看到该层最右边的节点。实现思路是: 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...
