区块链技术博客
www.b2bchain.cn

113. 路径总和 II字节跳动笔试

这篇文章主要介绍了113. 路径总和 II字节跳动笔试,通过具体代码讲解8457并且分析了113. 路径总和 II字节跳动笔试的详细步骤与相关技巧,需要的朋友可以参考下

本文实例讲述了113. 路径总和 II字节跳动笔试。分享给大家供大家参考文章查询地址https://www.b2bchain.cn/8457.html。具体如下:

原文

https://www.b2bchain.cn/5925.html 

 //给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。  // // 说明: 叶子节点是指没有子节点的节点。  // // 示例:  //给定如下二叉树,以及目标和 sum = 22,  // //               5 //             /  //            4   8 //           /   /  //          11  13  4 //         /      /  //        7    2  5   1 //  // // 返回:  // // [ //   [5,4,11,2], //   [5,8,4,5] //] //  // Related Topics 树 深度优先搜索   //leetcode submit region begin(Prohibit modification and deletion)   import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Deque;   /**  * Definition for a binary tree node.  * public class TreeNode {  *     int val;  *     TreeNode left;  *     TreeNode right;  *     TreeNode(int x) { val = x; }  * }  */ class Solution {     List<List<Integer>> ans=new ArrayList<>();     public List<List<Integer>> pathSum(TreeNode root, int sum) {          Deque<Integer> level=new ArrayDeque<>();         if(root==null) return ans;         helper(root,sum,level);         return ans;     }     private void helper(TreeNode node,int sum,Deque<Integer> path){        if(node==null) return;        //先将当前节点加入之后,才可以继续操作        path.addLast(node.val);        sum-=node.val;          if(node.left==null && node.right==null && sum==0) {             ans.add(new ArrayList<>(path));             // 注意:这里 return 之前必须重置             path.removeLast();             return;         }         helper(node.left,sum,path);         helper(node.right,sum,path);         path.removeLast();     } } //leetcode submit region end(Prohibit modification and deletion) 

 

本文地址https://www.b2bchain.cn/8457.html

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » 113. 路径总和 II字节跳动笔试
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们