首页 > 编程语言 >#yyds干货盘点# LeetCode程序员面试金典:路径总和 II

#yyds干货盘点# LeetCode程序员面试金典:路径总和 II

时间:2023-05-25 22:35:12浏览次数:58  
标签:yyds 金典 dfs II targetSum path null root 节点

题目:

给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。

叶子节点 是指没有子节点的节点。

 

示例 1:

输入:root = [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSum = 22

输出:[[5,4,11,2],[5,8,4,5]]

示例 2:

输入:root = [1,2,3], targetSum = 5

输出:[]

示例 3:

输入:root = [1,2], targetSum = 0

输出:[]

代码实现:

class Solution {
    List<List<Integer>> ret = new LinkedList<List<Integer>>();
    Deque<Integer> path = new LinkedList<Integer>();

    public List<List<Integer>> pathSum(TreeNode root, int targetSum) {
        dfs(root, targetSum);
        return ret;
    }

    public void dfs(TreeNode root, int targetSum) {
        if (root == null) {
            return;
        }
        path.offerLast(root.val);
        targetSum -= root.val;
        if (root.left == null && root.right == null && targetSum == 0) {
            ret.add(new LinkedList<Integer>(path));
        }
        dfs(root.left, targetSum);
        dfs(root.right, targetSum);
        path.pollLast();
    }
}

标签:yyds,金典,dfs,II,targetSum,path,null,root,节点
From: https://blog.51cto.com/u_13321676/6351538

相关文章

  • #yyds干货盘点# LeetCode程序员面试金典:多数元素
    1.描述:给定一个大小为n的数组 nums,返回其中的多数元素。多数元素是指在数组中出现次数大于 ⌊n/2⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1:输入:nums=[3,2,3]输出:3示例 2:输入:nums=[2,2,1,1,1,2,2]输出:22.代码实现:classSolution{......
  • Problem B: 时间和日期类(II)
    HomeWebBoardProblemSetStandingStatusStatisticsProblemB:时间和日期类(II)TimeLimit:4Sec  MemoryLimit:128MBSubmit:2673  Solved:1980[Submit][Status][WebBoard]Description设计一个日期时间类,用于读取输入的数据,按格式输出日期和时间......
  • Hello World II - python垂直输出Hello World
    描述垂直输出"HelloWorld",全部代码不超过2行。 输入无输出Hello Worldstr="HelloWorld"fornameinstr[:]:print(name)修改:开始没看到要求不超过两行,正确代码为:fornamein"HelloWorld":print(name)题目来源:python123.io......
  • 【编码】ASCII,GBK,UTF-8
    ASCII码128个字符,二进制编码都以0开头   GBK编码占2个字节,二进制编码以1开头1xxxxxxxxxxxxxxx  UTF-8可变长编码方案英文、数字占1个字节,汉字占3个字节  ASCII码编码0xxxxxxx2字节的汉字开头必须110xxxxx10xxxxxx3字节的汉字开头必须1110xxxx......
  • 剑指 Offer 56 - II. 数组中数字出现的次数 II
    题目描述:在一个数组 nums 中除一个数字只出现一次之外,其他数字都出现了三次。请找出那个只出现一次的数字。   int[]counts=newint[32];for(inti=0;i<nums.length;i++){for(intj=0;j<32;j++){counts[j]+=nums[i]&1;//更新......
  • #yyds干货盘点# LeetCode程序员面试金典:路径总和
    题目:给你二叉树的根节点 root和一个表示目标和的整数 targetSum。判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和 targetSum。如果存在,返回true;否则,返回false。叶子节点是指没有子节点的节点。 示例1:输入:root=[5,4,8,11,null,13,4,......
  • #yyds干货盘点# LeetCode程序员面试金典:Excel表列名称
    1.简述:给你一个整数 columnNumber,返回它在Excel表中相对应的列名称。例如:A->1B->2C->3...Z->26AA->27AB->28... 示例1:输入:columnNumber=1输出:"A"示例2:输入:columnNumber=28输出:"AB"示例3:输入:columnNumber=701输出:"ZY"示例4:输入:colum......
  • 剑指 Offer II 018(Java). 有效的回文(简单)
    题目:给定一个字符串s,验证s 是否是 回文串 ,只考虑字母和数字字符,可以忽略字母的大小写。本题中,将空字符串定义为有效的 回文串 。 示例1:输入:s="Aman,aplan,acanal:Panama"输出:true解释:"amanaplanacanalpanama"是回文串示例2:输入:s="raceacar"......
  • 修改arm板开机logo,ppm转换需要用ascii而不是rawbits binary
    网上在线转ppm格式不好用,转出来的是rawbits的二进制格式,PPM编码(ASCII或binary),关于图片格式编码参见此处我需要ascii编码sudoapt-getinstallnetpbm        $bmptoppmpic.bmp>temp1.ppm//生成ppm        $ppmquant224temp1.ppm>temp2.ppm//转换成2......
  • 不同路径 II(数组、动态规划)、同构字符串(哈希表、字符串)、颠倒二进制位(位运算、分
    不同路径II(数组、动态规划)一个机器人位于一个_mxn_网格的左上角(起始点在下图中标记为“Start”)。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网......