【第一部分】01Leetcode刷题
一、二叉树的中序遍历
题目:94. 二叉树的中序遍历、94. Binary Tree Inorder Traversal
解法一:
1 class Solution { 2 public: 3 vector<int> inorderTraversal(TreeNode* root) 4 { 5 if(!root) {}; 6 vector<int> res; 7 stack<TreeNode *> st; 8 while(root || !st.empty()) 9 { 10 while(root) 11 { 12 st.push(root); 13 root = root->left; 14 } 15 root = st.top(); 16 st.pop(); 17 res.push_back(root->val); 18 root = root->right; 19 } 20 return res; 21 } 22 };
解法二:
1 class Solution { 2 public: 3 vector<int> res; 4 vector<int> inorderTraversal(TreeNode* root) 5 { 6 if(!root) return {}; 7 inorderTraversal(root->left); 8 res.push_back(root->val); 9 inorderTraversal(root->right); 10 return res; 11 } 12 };
二、二叉树的前序遍历
题目:144. 二叉树的前序遍历、144. Binary Tree Preorder Traversal
解法一:
1 class Solution { 2 public: 3 vector<int> preorderTraversal(TreeNode* root) 4 { 5 if(!root) return {}; 6 vector<int> res; 7 stack<TreeNode *> st; 8 st.push(root); 9 while(!st.empty()) 10 { 11 root = st.top(); 12 st.pop(); 13 res.push_back(root->val); 14 if(root->right) st.push(root->right); 15 if(root->left) st.push(root->left); 16 } 17 return res; 18 } 19 };
解法二:
1 class Solution { 2 public: 3 vector<int> res; 4 vector<int> preorderTraversal(TreeNode* root) 5 { 6 if(!root) return {}; 7 res.push_back(root->val); 8 preorderTraversal(root->left); 9 preorderTraversal(root->right); 10 return res; 11 } 12 };
三、两个数组的交集 II
题目:350. 两个数组的交集 II 、350. Intersection of Two Arrays II
解法一:
1 class Solution { 2 public: 3 vector<int> intersect(vector<int>& nums1, vector<int>& nums2) 4 { 5 unordered_map<int, int> mp; 6 vector<int> res; 7 for(auto c: nums1) ++mp[c]; 8 for(auto c: nums2) 9 if(mp[c]--> 0) 10 res.push_back(c); 11 return res; 12 } 13 };
转载于:https://www.cnblogs.com/sunbines/p/10615989.html
【第一部分】01Leetcode刷题相关推荐
- 速通C语言支线第一站 基础刷题
系列文章目录 速通C语言支线第一站 基础刷题 文章目录 系列文章目录 前言 一.进制类 1 打印8.16进制 2 16进制转10进制 3 进制转换类 推论:一个数二进制位有几个1 变式:判断n是否是2 ...
- 肝了一个月,我做了个免费的面试刷题网
大家好,我是鱼皮. 如今找工作.面试实在是太卷了,每轮面试都 必考 八股文,不背不行.网上虽然有很多面试题,但过于分散,就导致很多朋友又不知道到哪去找题.该背哪些题了. 所以我决定做一个完全免费.干净 ...
- .net 遍历数组找重复值写入一个新数组_第二轮 Python 刷题笔记一:数组
经过四十多天缓慢的刷题,现在进度大概是刷了八十多道 LeetCode 题,最近也在吸取过来人的经验,仍然需要对刷题计划进行调整. 首先明确一下目标,我是有些 Python 基础,想通过刷题掌握更多算法 ...
- 牛客网刷题之SQL篇:非技术快速入门39T
导航 前序 一.简单的关键字练习 1-10 二.知识点复习之 ==运算符== 1.算数运算符 2.比较运算符 3.逻辑运算符 4.位运算符 三.10-28T 0.简单题总结 1. SQL18 ==分组 ...
- MySQL牛客网刷题3
目录 SQL18 分组计算练习题 问题分解: 细节问题: 完整代码: SQL19 分组过滤练习题 问题分解: 细节问题: 完整代码: SQL20 分组排序练习题 问题分解: 细节问题: 完整代码: S ...
- 2021.5.21开始的兔系刷题之路 根据LeetCode分类进行逐个击破 培养出自己的套路~
十二月了 再更一波 最近的题解都写在这个仓库中,另外仓库中也记录了自己学习前端过程中的收获~ 近期刷题情况-- 2021-11突然好多人看这篇XD 来更一波,依旧在保持刷题啦~ 目前是跟着一本前端算法 ...
- LeetCode刷题1:第四周
LeetCode刷题1:第四周 目录 LeetCode刷题1:第四周 一.前言 二.知识点 1.Python 字符串 Python 访问字符串中的值 Python 字符串更新 Python转义字符 P ...
- 字节大老耗时5年总结的算法刷题笔记(全彩漫画版)
前言 王国维先生在<人间词话>中写道:古今之成大事业.大学问者,必经过三种境界:"昨夜西风凋碧树.独上高楼,望尽天涯路."此第一境也."衣带渐宽终不悔,为伊消 ...
- leetcode剑指offe刷题-第一题-用两个栈实现队列
leetcode剑指offe刷题-第一题 文章目录 leetcode剑指offe刷题-第一题 前言 一.用两个栈实现队列 1.思路 2.代码如下 总结 前言 记录一下自己刷算法的路程. leetcod ...
最新文章
- 极客新闻——18、领导和下属之间到底是什么样的关系?
- 浅析药品生产偏差管理进展及改进措施
- 新星科技有限公司java_「新星科技」
- 基于角色-功能-资源的权限控制模型的设计与实现-引子
- 一步一步SharePoint 2007之五:向网站中添加一个子网站
- 索尼android 怎么截屏快捷键,索尼XZ Premium怎么截屏 2种索尼XZ Premium截图方法
- Tree Cutting HDU - 5909
- BFS HDOJ 1242 Rescue
- Python从序列中选择k个不重复元素
- 前端学习之路之CSS (三)
- pp-tracking ubuntu 18.04使用GPU推理出现Segmentation fault
- 面试官:说说 Spring 事务设计原理?面试必问!
- 随手记---Python字典 del用法
- 【代码优化】私有构造器使用及对象创建优化
- VideoPlayer参数
- java实现数据库自动异地备份
- css 兼容解决方案,CSS的常见兼容性问题解决方案
- 第一章 Python pyodbc连接access数据库的使用方法
- ipv4和计算机地址是什么意思,ipv6是什么意思?我们怎么查看电脑iPv6地址
- 佟年计算机大赛,佟年成电竞高手,老韩带老婆打比赛,solo内网被佟年轻松攻破...
热门文章
- 注解之RetentionPolicy,ElementType
- H5实例教学--ThreeJs 实现粒子动画飘花效果
- systemtap gui
- PAT 乙级 1001. 害死人不偿命的(3n+1)猜想 (15) Java版
- 【软件测试】简述自顶向下和自底向上两种集成测试方法
- LeetCode 96. Unique Binary Search Trees
- php server 不支持,SQL server不支持utf8 php却用utf8的矛盾问题解决方法
- 都是成年人了,别再相信OA价格越低越好这种话了
- 虚拟机使用ceph-deploy安装ceph
- PowerDesigner模型分类