南昌网站搭建软文优化

news/2025/10/1 16:24:46/文章来源:
南昌网站搭建,软文优化,成都有几个区,电子商务网站难做吗二叉树OJ面试题 1. 对称二叉树2.二叉树的构建及遍历3.二叉树的层序遍历4.给定一个二叉树, 找到该树中两个指定节点的最近公共祖先5. 二叉树创建字符串用栈来存放路径上的节点 1. 对称二叉树 思路#xff1a; 在根的值一样接着往下判断判断左树的左子树的值和右树的右子树的值… 二叉树OJ面试题 1. 对称二叉树2.二叉树的构建及遍历3.二叉树的层序遍历4.给定一个二叉树, 找到该树中两个指定节点的最近公共祖先5. 二叉树创建字符串用栈来存放路径上的节点 1. 对称二叉树 思路 在根的值一样接着往下判断判断左树的左子树的值和右树的右子树的值是否相同判断左树的右子树的值和右树的左子树的值是否相同 public boolean isSymmetric(TreeNode root) {if (root null) {return true;}return isSymmetricChild(root.left,root.right);}private boolean isSymmetricChild(TreeNode leftTree,TreeNode rightTree){if (leftTree null rightTree null) {return true;}if ((leftTree null rightTree ! null) || (leftTree ! null rightTree null)) {return false;}if (leftTree.val ! rightTree.val) {return false;}return isSymmetricChild(leftTree.left, rightTree.right) isSymmetricChild(leftTree.right , rightTree.left);}2.二叉树的构建及遍历 要求编一个程序读入用户输入的一串先序遍历字符串根据此字符串建立一个二叉树以指针方式存储。 例如如下的先序遍历字符串 ABC##DE#G##F### 其中“#”表示的是空格空格字符代表空树。建立起此二叉树以后再对二叉树进行中序遍历输出遍历结果。 import java.util.Scanner; class TreeNode {public char val;public TreeNode left;public TreeNode right;public TreeNode(char val) {this.val val;} }// 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main {public static int i 0;public static void main(String[] args) {Scanner in new Scanner(System.in);while (in.hasNextLine()) {String str in.nextLine();TreeNode root createTree(str);inorder(root);}}public static TreeNode createTree(String str) {//1.遍历字符串strTreeNode root null;if(str.charAt(i) ! #) {//2.根据前序遍历创建二叉树root new TreeNode(str.charAt(i));i;root.left createTree(str);root.right createTree(str);}else {i;}//3.返回根节点return root;}public static void inorder(TreeNode root) {if (root null) {return;}inorder(root.left);System.out.print(root.val );inorder(root.right);} }3.二叉树的层序遍历 层序遍历按照从上到下从左到右的顺序来访问每一层的节点。 思路**利用队列的先进先出的思想先从根节点出发将其压入队列中接着判断从队列中弹出来的节点的左右孩子若该节点的左孩子不为null时将其压入队列。一直循环当队列为空时说明已经把该树遍历完了。 /*** 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;* }* }*/public ListListInteger levelOrder(TreeNode root) {ListListInteger ret new ArrayList();if (root null) {return ret;}QueueTreeNode queue new LinkedList();queue.offer(root);while (!queue.isEmpty()) {int size queue.size();ListInteger tmp new ArrayList();// 层序遍历while (size ! 0){TreeNode cur queue.poll();//System.out.print(cur.val );tmp.add(cur.val);size--;if (cur.left ! null){queue.offer(cur.left);}if (cur.right ! null) {queue.offer(cur.right);}}ret.add(tmp);}return ret;}void levelOrder(TreeNode root) {if (root null) {return;}QueueTreeNode queue new LinkedList();queue.offer(root);while (!queue.isEmpty()) {// 层序遍历TreeNode cur queue.poll();System.out.print(cur.val );if (cur.left ! null){queue.offer(cur.left);}if (cur.right ! null) {queue.offer(cur.right);}}}4.给定一个二叉树, 找到该树中两个指定节点的最近公共祖先 思路root还是在遍历这棵树遇到p或者q就返回 如果root节点是p或者是q 那么root是最近祖先如果pq分布在root的左右两侧那么root就是最近祖先pq在root的同一侧 遇到的第一个就是公共祖先即左边不为空右部为空 或者左空右不空 public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {if (root null){return null;}if (root p || root q){return root;}// 递归左树或者右树TreeNode leftTree lowestCommonAncestor(root.left,p,q);TreeNode rightTree lowestCommonAncestor(root.right,p,q);if (leftTree ! null rightTree ! null) {return root;}else if (leftTree ! null) {return leftTree;}else {return rightTree;}}5. 二叉树创建字符串 思路 根节点直接拼接左边为空 右空 直接返回左边不为空右边为空加“”左边为空右边不为空 直接加一对括号“” public String tree2str(TreeNode root) {StringBuilder stringBuilder new StringBuilder();tree2strChild(root,stringBuilder);return stringBuilder.toString();}private void tree2strChild(TreeNode t, StringBuilder stringBuilder){if (t null) {return;}stringBuilder.append(t.val);if (t.left ! null) {stringBuilder.append(();tree2strChild(t.left,stringBuilder);stringBuilder.append());}else {if (t.right null) {return;}else {stringBuilder.append(());}}// 判断右树if (t.right ! null) {stringBuilder.append(();tree2strChild(t.right,stringBuilder);stringBuilder.append());}else {return;}}用栈来存放路径上的节点 public TreeNode lowestCommonAncestor2(TreeNode root, TreeNode p, TreeNode q) {if(root null) return null;StackTreeNode stackP new Stack();StackTreeNode stackQ new Stack();getPath(root,p,stackP);getPath(root,q,stackQ);int sizeP stackP.size();int sizeQ stackQ.size();if(sizeP sizeQ) {int size sizeP - sizeQ;while(size ! 0) {stackP.pop();size--;}}else {int size sizeQ - sizeP;while(size ! 0) {stackQ.pop();size--;}}//两个栈当中的元素是一样多while(!stackP.isEmpty() !stackQ.isEmpty()) {if(stackP.peek() stackQ.peek()) {return stackP.peek();}else{stackP.pop();stackQ.pop();}}return null;}//判断左树没有这个节点 右树没有这个节点 那么当前的root就不是路径上的节点private boolean getPath(TreeNode root,TreeNode node,StackTreeNode stack) {if(root null || node null) {return false;}stack.push(root);if(root node) {return true;}boolean flg getPath(root.left,node,stack);if(flg) {return true;}boolean flg2 getPath(root.right,node,stack);if(flg2) {return true;}stack.pop();return false;}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/924014.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

临沂企业建站系统模板网络推广赚钱平台

目录 前言: Linux的目录结构 Linux常用指令简介 whoami指令 ls指令 pwd指令 cd指令 tree指令 touch指令 mkdir指令 rmdir指令与rm指令 man指令 cp(copy)指令 mv(move)指令 cat指令 重定向及重定向的类型…

杭州专业网站建设wordpress 流程

STL中的序列式容器主要包括 vector 向量容器、list 列表容器以及 deque 双端队列容器。 vector 实现的是一个动态数组。 定义在 <vector> 头文件中。 #include <iostream> #include <vector> using namespace std; int main() {//初始化一个空vectorvecto…

网站建设的目标是网站内容建设和运营工作

文章目录 概念结构实例总结 概念 观察者模式&#xff1a;定义对象之间的一种一对多的依赖关系&#xff0c;使得每当一个对象状态发生改变时&#xff0c;其他相关依赖对象都得到通知并被自动更新。 观察者模式是使用频率较高的一个模式&#xff0c;它建立了对象与对象之间的依赖…

1数学建模模型分类

数学建模模型分类核心笔记 一、预测类模型 1. 定义 基于历史数据或已知现象,挖掘内在发展规律,对未来趋势或样本内未知属性进行推断的模型类型,核心是“数据驱动+规律推导”。 2. 关键分类(按数据量与预测范围)样…

网站建设昆山网站研发流程

1.1web基本 session 和 cookie 有什么区别&#xff1f; 存储位置不同&#xff1a;session 存储在服务器端&#xff1b;cookie 存储在浏览器端。 安全性不同&#xff1a;cookie 安全性一般&#xff0c;在浏览器存储&#xff0c;可以被伪造和修改。 容量和个数限制&#xff1a;…

企业网站 阿里云asp网站应用程序

1、符号运算符 ( ) [ ] . -> 圆括号 数组 成员选择&#xff08;对象&#xff09;——结构体、联合体 成员选择&#xff08;指针&#xff09;——结构体、联合体 2、符号运算符 - () -- * & …

企业做网站需要什么资料爱战网关键词挖掘

文章目录 服务端通过传入命令处理实现远程命令执行使用Windows编辑UDP客户端实现Windows远程控制Linux接收套接字的其他信息UDP套接字简单群聊服务端UDP套接字简单群聊客户端运行测试及分离输入输出 参考代码 服务端通过传入命令处理实现远程命令执行 『 Linux 』利用UDP套接字…

数学每日?题

遇到一些比较好的题会进行收录。范围:我会的知识点。已知二次函数 \(f(x)=ax^2+bx+c(b>a)\) 满足 \(\forall x \in \mathbb{R}, f(x) \ge 0\) 恒成立,求 \(\dfrac{b - a}{a + b + c}\) 的最大值。 已知的条件如下…

OpenSpeedy最新版下载,夸克百度网盘加速提速|游戏加速工具|官网入口

OpenSpeedy 是一款面向 Windows 平台的开源免费游戏变速工具,旨在通过修改游戏进程的时间函数实现加速或减速,从而突破原生帧率限制、提升单机游戏流畅度,甚至在部分情况下加速网盘下载。软件采用 Ring3 层 Hook 技…

详细介绍:深入理解 SPI:从定义到 Spring Boot 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

详细介绍:深入理解 SPI:从定义到 Spring Boot 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

RVC WebUI(Retrieval-based-Voice-Conversion-WebUI)配置 - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

有哪些网站可以做h5莱芜十大首富

原标题&#xff1a;从安卓换到苹果到底是什么感受&#xff1f;最后一个让我彻底放弃了iPhone&#xff01;iPhone X是近几年来苹果最具创新力的iPhone&#xff0c;然而高昂的售价让很多消费者望而却步。随着今年苹果秋季新品发布会的临近&#xff0c;苹果即将发布价格更低廉&…

个人资料库网站怎么做资源下载类网站源码

Java 中的并发包指的是 java.util.concurrent(简称 JUC)包和其子包下的类和接口,它为 Java 的并发提供了各种功能支持,比如: 提供了线程池的创建类 ThreadPoolExecutor、Executors 等;提供了各种锁,如 Lock、ReentrantLock 等;提供了各种线程安全的数据结构,如 Concur…

第一次软工作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering/homework/13546这个作业的目标 自我介绍,初…

Nginx核心配备详解:访问控制、用户认证与HTTPS部署

Nginx核心配备详解:访问控制、用户认证与HTTPS部署pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas"…

深入解析:5. Prompt 提示词

深入解析:5. Prompt 提示词2025-10-01 15:59 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important;…

基于Python+Vue开发的婚恋交友管理系统源码+运行步骤

项目简介该项目是基于Python+Vue开发的婚恋交友管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于…

南通医院网站建设方案网站 mysql数据库 字符

一直以来玩各种开发板&#xff0c;焊接水平太差始终是阻碍我买性价比高的板子的最大原因。淘宝上好多芯片搭载上肥猪流板子是不包排针焊接的。终于下定决心要克服这个困难。不过&#xff0c;只是会焊接排针在高手面前最好不要说自己会焊锡&#xff0c;这应该是两码事。 首先上…

详细介绍:Python 编辑器:PyCharm

详细介绍:Python 编辑器:PyCharm2025-10-01 15:45 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !impo…