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

无锡做网站的企业牙科网站模板

无锡做网站的企业,牙科网站模板,网络建设需求,前端微信小程序开发\描述: 给定节点数为 n 的二叉树的前序遍历和中序遍历结果,请重建出该二叉树并返回它的头结点。 例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建出如下图所示。 思路: 题上给了我们前序遍历(根 …

\描述: 

给定节点数为 n 的二叉树的前序遍历和中序遍历结果,请重建出该二叉树并返回它的头结点。

例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建出如下图所示。

 思路:

题上给了我们前序遍历(根 左 右)和中序遍历(左 根 右),因为前序遍历先遍历根,故可以通过前序遍历确定根,再由中序遍历确定根的左右子树是什么.循环往复(递归),直到整个树构建完成。

题目入口:

点击进入该题

解题步骤:

1.需要递归,题中给的函数无法满足要求,因此我们需要自己创建一个函数(buildTree)。

2.在递归过程中,需要确认根节点的下标,因此我们又需要再创建一个函数(findIndex)。

3.递归需要有结束条件,当instart下标不再大于inend下标时,证明所有的节点都已经归位,因此用instart>inend作为终止递归条件。

代码如下:

public class Solution {int i=0;//根的下标public TreeNode reConstructBinaryTree(int [] pre,int [] vin) {return buildTree(pre,vin,0,vin.length-1);}private TreeNode buildTree(int [] pre,int[] vin,int instart,int inend) {//递归终止条件if(instart>inend) {return null;}int mid=findIndex(vin,instart,inend,pre[i]);TreeNode root=new TreeNode(pre[i]);i++;root.left=buildTree(pre,vin,instart,mid-1);root.right=buildTree(pre,vin,mid+1,inend);return root;}private int findIndex(int[] vin,int instart,int inend,int key) {//找每一个子树的根for(int j=instart;j<=inend;j++) {if(vin[j]==key) {return j;}}return -1;}

JZ9 用两个栈实现队列

描述

用两个栈来实现一个队列,使用n个元素来完成 n 次在队列尾部插入整数(push)和n次在队列头部删除整数(pop)的功能。 队列中的元素为int类型。保证操作合法,即保证pop操作时队列内已有元素。

思路: 

我们知道栈是先进后出,队列是先进先出。 我们可以建立两个栈(stack1,stack2),让他两个一个负责入栈,一个负责出栈,逻辑也简单,

入栈:只需要进一个元素push一个元素就行了。

出栈:队列的话,应该是第一个进入的第一个出去,现在第一个进入的在栈底,故我们需要将栈底的元素挪到栈顶,这就stack1中的所有元素从栈顶全部入到stack2,直到stack1中为空。再将去stack2中的栈顶取出先存起来。因为还有元素会加入到队列当中,故我们需要再将stack2中的元素再次导入stack1

pop()函数 

 

 

 

 

 

题目入口

点击进入该题

解题步骤:

1.建立两个栈。

2.将进入的元素都入到stack1,这就完成了push();

3.在pop()函数中倒置stack1与stack2就完成了该函数。

代码如下:

import java.util.Stack;public class Solution {Stack<Integer> stack1 = new Stack<Integer>();Stack<Integer> stack2 = new Stack<Integer>();public void push(int node) {stack1.push(node);}public int pop() {int tmp=0;while(!stack1.isEmpty()) {tmp=stack1.pop();stack2.push(tmp);}int ret=stack2.pop();while(!stack2.isEmpty()) {tmp=stack2.pop();stack1.push(tmp);}return ret;}}

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

相关文章:

  • 多少钱算网站郑州网站建设做推广吗
  • 网站策划书主题商丘软文推广
  • 网站开发一般要用到哪些软件有哪些成熟的网站怎么做seo推广
  • 外贸网站建设公司哪家好公众号网页制作模板
  • 合理合规的网站链接推广方案WordPress配置路由跳转
  • 商机互联网站建设中国阳江网络问政平台
  • 平江网站建设提高网站搜索排名
  • 网站开发设计报告书怎么写wordpress主题安全
  • 如何做自己的广告网站建设银行指定网站
  • 学院网站建设报价西安小程序外包
  • 做会所网站的网上做网站的公司都是怎么做的
  • seo网站代码网站群建设管理规定
  • 网站建设网站徒手整形嘉兴网站
  • 专业邯郸做网站asp access网站架设教程
  • 青岛高端网站制作wordpress注册
  • 注册域名去哪个网站好add_filter wordpress
  • 珠宝首饰网站模板电商平台推广广告词
  • 网站生成自助杭州旅游网站建设
  • 网站怎么做丰富的tag标签页WordPress创建页面左侧导航
  • 珠海网站建设防seo网站源码
  • 定远建设局官方网站iis网站ip
  • 怎样做班级网站大连三川建设集团
  • 建设网络文化网站的请示网站更新和维护怎么做
  • 贵阳网站开发招聘网站建设 北京
  • 广州门户网站建设方案广告传媒公司招聘信息
  • 汶上手机网站建设阜城县网站建设报价
  • 网站开发php和ui免费ppt模板下载花
  • 机械门户网站建设特点如何建立一个小程序的网站
  • 岳各庄网站建设杭州seo 云优化科技
  • 网站开发需要哪些工程师城阳网站建设电话