力扣labuladong——一刷day67

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、力扣582.杀掉进程
  • 二、力扣536.从字符串生成二叉树


前言


二叉树的递归分为「遍历」和「分解问题」两种思维模式,这道题需要用到「遍历」的思维模式。

一、力扣582.杀掉进程

class Solution {public List<Integer> killProcess(List<Integer> pid, List<Integer> ppid, int kill) {// 构建多叉树,key 为父节点,value 为所有子节点的列表HashMap<Integer, List<Integer>> tree = new HashMap<>();for (int i = 0; i < pid.size(); i++) {int child = pid.get(i);int parent = ppid.get(i);tree.putIfAbsent(parent, new ArrayList<>());tree.get(parent).add(child);}List<Integer> res = new LinkedList<>();// 我这里用 BFS 算法遍历子树,删除以 kill 为根的所有子节点Queue<Integer> q = new LinkedList<>();q.offer(kill);while (!q.isEmpty()) {int cur = q.poll();res.add(cur);if (tree.containsKey(cur)) {// 所有子节点入队q.addAll(tree.get(cur));}}return res;}
}

二、力扣536.从字符串生成二叉树

class Solution {public TreeNode str2tree(String s) {if (s.isEmpty()) {return null;}// 用栈模拟递归建树过程Stack<TreeNode> stk = new Stack<>();for (int i = 0; i < s.length(); i++) {if (s.charAt(i) == '(') {continue;}if (s.charAt(i) == ')') {// 每次遇到有括号,都说明栈顶节点构建完成stk.pop();continue;}/* 开始读取数字 */int j = i;int num = 0, sign = 1;if (s.charAt(j) == '-') {sign = -1;j++;}while (j < s.length()&& s.charAt(j) <= '9' && s.charAt(j) >= '0') {num = num * 10 + (s.charAt(j) - '0');j++;}i = j - 1;num = num * sign;/* 数字读取完成 */// 新建节点TreeNode node = new TreeNode(num);if (!stk.isEmpty()) {// 栈顶元素永远是当前处理节点的父节点TreeNode parent = stk.peek();// 根据父节点的左右子节点情况组装if (parent.left == null) {parent.left = node;} else {parent.right = node;}}// 新节点入栈stk.push(node);}// 注意到除了整棵树的根节点之外,// 其他的每个节点都可以找到一个有括号配对,// 所以最后栈中一定还有一个节点,就是根节点return stk.peek();}
}

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

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

相关文章

麒麟系统进入救援模式或者是crtl D界面排查方法

如出现以下图片的情况可能需要修复磁盘&#xff1a; V10GFB-desktop&#xff1a; 开机后发现一致卡在此界面&#xff1a; 按esc键后有以下报错信息说明在/etc/fstab里面编写的外挂磁盘的命令有问题 解决方法如下&#xff1a;进入单用户模式对/etc/fstab进行修改&#xff1a; …

springboot-mongodb-连接配置

文章目录 配置Maven依赖URL格式单节点配置示例副本集&#xff08;含连接池配置&#xff09; 配置Maven依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-mongodb</artifactId></dependenc…

智能优化算法应用:基于侏儒猫鼬算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于侏儒猫鼬算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于侏儒猫鼬算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.侏儒猫鼬算法4.实验参数设定5.算法结果6.参考…

facebook广告运营技巧

在Facebook上进行广告运营需要一定的技巧和策略。以下是一些建议&#xff1a; 明确目标&#xff1a;在创建广告之前&#xff0c;你需要明确你的目标。这可能包括增加品牌知名度、提高网站流量、增加销售等等。明确目标后&#xff0c;你可以将广告与这些目标相结合&#xff0c;…

【五分钟】熟悉python列表和元组的异同点【看这篇够用!建议收藏】

引言 Python&#xff0c;是一种广泛应用于数据科学、机器学习等领域的高级编程语言&#xff0c;支持多种丰富多样的数据类型&#xff0c;其中包括列表和元组。尽管这两种数据结构都可用于存储多个值&#xff0c;但它们在功能和特性上存在着明显的差异。在接下来的博客中&#…

天津大数据培训机构品牌 数据分析师的发展方向

大数据专业还是有一定难度的&#xff0c;毕竟大数据开发技术所包含的编程技术知识是比较杂且多的如果是计算机专业的学生或者自身有一定基础的人学&#xff0c;相对来说会比较容易&#xff0c;但对于零基础小伙伴学习来说&#xff0c;想要学习大数据&#xff0c;难度还是很高的…

3D Web可视化平台助力Aras开发PLM系统:提供数据访问、可视化和发布功能

HOOPS中文网慧都科技是HOOPS全套产品中国地区指定授权经销商&#xff0c;提供3D软件开发工具HOOPS售卖、试用、中文试用指导服务、中文技术支持。http://techsoft3d.evget.com/ Aras是一个面向数字化工业应用的开放性平台&#xff0c;帮助世界领先的复杂互联产品制造商转变其产…

大三上实训内容

项目一&#xff1a;爬取天气预报数据 【内容】 在中国天气网(http://www.weather.com.cn)中输入城市的名称&#xff0c;例如输入信阳&#xff0c;进入http://www.weather.com.cn/weather1d/101180601.shtml#input 的网页显示信阳的天气预报&#xff0c;其中101180601是信阳的…

SpringCloud面试题——Nacos

一&#xff1a;什么是Nacos&#xff1f; 二&#xff1a;服务心跳与服务注册原理&#xff1f; 在spring容器启动的时候&#xff0c;nacos客户端会进行两步操作。 向nacos服务端发送心跳向nacos服务端注册当前服务 服务心跳 客户端在启动的时候&#xff0c;会开启一个心跳线程…

私域运营:掌控用户,领航变革

随着互联网技术的迅速进步&#xff0c;众多电商平台如雨后春笋般涌现。尽管淘宝、京东等第三方平台在流量和销售额方面占据了绝对优势&#xff0c;但私域流量运营的兴起也引发了广泛关注。尽管尚处于初级阶段&#xff0c;但私域运营已成为当前最热门的话题之一。 私域运营指的…

HttpComponents: 概述

文章目录 1. 概述2. 生态位 1. 概述 早期的Java想要实现HTTP客户端需要借助URL/URLConnection或者自己手动从Socket开始编码&#xff0c;需要处理大量HTTP协议的具体细节&#xff0c;不但繁琐还容易出错。 Apache Commons HttpClient的诞生就是为了解决这个问题&#xff0c;它…

高德地图画渐变线

高德地图画渐变线&#xff0c;思路是将线和颜色均分为多个小线段和小颜色&#xff0c;实现渐变&#xff0c;类似于下图。 如果需要多段线&#xff0c;自己循环拼一下就可以了&#xff0c;方法返回多个小线段组成的polyline数组。 /** 高德地图画渐变线* author: liyun* params…

【WPS】Excel表格数据透视表

数据少量还好&#xff0c;如果输数多起来就麻烦了&#xff0c;最近需要汇报一个情况。 描述 譬如&#xff1a;开发&#xff08;80.00%->91.16%&#xff09;&#xff1a;共计43项&#xff08;本周新增1项&#xff09;&#xff0c;本周新增已完成2项&#xff0c;共已完成36项…

wps中将横轴和纵轴数据互换

wps中将横轴和纵轴数据互换 今天遇到个比较奇怪的需求, 要把excel数据的横轴和纵轴互换 在我理解中程序做这种事情应该很简单的 结果搜索好多教程都是说怎么讲图表xy轴互换 终于找到如何转表格数据的特此记录一下 复制需要转换的内容新建一个sheet选择性粘贴(CtrlAltV)选择转置…

Linux高级系统编程 - 5 管道

复制文件描述符 dup函数 作用 : 文件描述符复制 语法 #include <unistd.h> int dup(int oldfd); 参数 : 所需复制的文件描述符 返回值 复制得到的文件描述符 功能 : 从文件描述符表中 , 寻找一个最小可能的文件描述符&#xff08;通过返回值返回&#xff09;作为…

Java--作用域,构造器,this

作用域基本使用 在Java编程中&#xff0c;主要的变量就是属性&#xff08;成员变量&#xff09;和局部变量。 我们说的局部变量一般是指在成员方法中定义的变量 Java中作用域的分类 全局变量&#xff1a;也就是属性&#xff0c;作用域为整个类体 局部变量&#xff1a;也就是除了…

RHEL8_Linux访问NFS存储及自动挂载

本章主要介绍NFS客户端的使用 创建FNS服务器并通过NFS共享一个目录在客户端上访问NFS共享的目录自动挂载的配置和使用 1.访问NFS存储 前面介绍了本地存储&#xff0c;本章就来介绍如何使用网络上的存储设备。NFS即网络文件系统&#xff0c;所实现的是 Linux 和 Linux 之间的共…

新手搭建知识付费平台必备攻略:如何以低成本实现高转化?

我有才知识付费平台 一、引言 随着知识经济的崛起&#xff0c;越来越多的知识提供者希望搭建自己的知识付费平台。然而&#xff0c;对于新手来说&#xff0c;如何以低成本、高效率地实现这一目标&#xff0c;同时满足自身需求并提高客户转化率&#xff0c;是一大挑战。本文将…

SPA, SEO, SSR总结

SPA单页面Web应用 SPA(Single page web application) 单页面Web应用 Web不再是一张张页面,而是一个整体的应用,一个由路由系统,数据系统,页面(组件)系统等等,组成的应用程序, 让用户不需要每次与服务器进行页面刷新来获得新的内容, 从而提供了更快,跟流畅的用户体验, 在SPA中…

参与创作①周年啦~

写在前面 今天看了消息才知道&#xff0c;原来开始创作已经一年了。此篇无干货&#xff0c;纯白话&#xff0c;纯记录。 机缘 参与CSDN创作已经一年有余&#xff0c;犹记得第一篇博文是为了整理好所学内容&#xff0c;方便自己复习。没想到后面也陆陆续续发了些其他内容&…