首页 > 其他分享 >LeetCode刷题记录.Day31

LeetCode刷题记录.Day31

时间:2022-12-04 22:12:42浏览次数:61  
标签:cur 递归 Day31 depth vector result order LeetCode 刷题

二叉树的层序遍历

递归法

class Solution {
public:
    void order(TreeNode* cur, vector<vector<int>>& result, int depth)
    {
        if(cur == nullptr) return; //递归结束条件,指针为空
        if(result.size() == depth) result.push_back(vector<int>()); //当前层写入result
        result[depth].push_back(cur->val); //当前结点值写入当前层的数组中
        order(cur->left, result, depth + 1); //递归遍历左节点,每次递归层加一
        order(cur->right, result, depth + 1);
    }
    vector<vector<int>> levelOrder(TreeNode* root) {
        vector<vector<int>> result; //二维数组result
        int depth = 0;
        order(root, result, depth);
        return result;
    }
};

递归的思路,看了一遍之后觉得很顺手,但是如果完全自己来写。不清楚能写成什么样。多看多练

 

标签:cur,递归,Day31,depth,vector,result,order,LeetCode,刷题
From: https://www.cnblogs.com/tianmaster/p/16950955.html

相关文章

  • day31-JQuery04
    JQuery046.jQuery的DOM操作026.9常用遍历节点方法取得匹配元素的所有子元素组成的集合:children(),该方法只考虑子元素而不考虑任何后代元素取得匹配元素后面的同辈......
  • Leetcode刷题第五周
    二叉树:种类:满二叉树、完全二叉树、二叉搜索树、平衡二叉搜索树存储方式:链式存储、线式存储(顺序存储)二叉数遍历:深度优先搜索(前序、中序、后序):使用递归实现(实际用栈来实现......
  • LeetCode:NO.142环形链表Ⅱ
    题目描述给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表......
  • 力扣 leetcode 547. 省份数量
    问题描述有n个城市,其中一些彼此相连,另一些没有相连。如果城市a与城市b直接相连,且城市b与城市c直接相连,那么城市a与城市c间接相连。省份是一组直接或间接......
  • 力扣 leetcode 200. 岛屿数量
    问题描述给你一个由'1'(陆地)和'0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此......
  • 力扣刷题01
    704.二分查找给定一个n个元素有序的(升序)整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果目标值存在返回下标,否则返回-1。示例1:输入:num......
  • 算法刷题532113D
    题目链接https://vjudge.net/contest/532113#problem/D思考虽然AC之后觉得题目难度不是很高,但也是第一次做比较综合的题目,花了快一天才做出来,只能说水平还是菜思路......
  • 两两交换链表中的节点-LeetCode24模拟节点
    力扣链接:https://leetcode.cn/problems/swap-nodes-in-pairs/题目给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完......
  • 算法刷题入门线性表|单调栈
     一、概念1、栈的定义栈 是仅限在 一端 进行 插入 和 删除 的 线性表。 栈 又被称为后进先出(LastInFirstOut)的线性表,简称LIFO。2、栈顶栈 是一......
  • [LeetCode] 1323. Maximum 69 Number 6和9组成的最大数字
    Youaregivenapositiveinteger num consistingonlyofdigits 6 and 9.Return themaximumnumberyoucangetbychanging atmost onedigit(6* becom......