当前位置: 首页 > news >正文

LeetCode 刷题【113. 路径总和 II】

113. 路径总和 II

自己做

解:先序遍历

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {private List<List<Integer>> res;public void preTravel(TreeNode root, int targetSum, int sum, List<Integer> list){if(root == null)return;// System.out.println(sum + " "+ list);list.add(root.val);     if(root.left == null && root.right == null && sum + root.val == targetSum)                //抵达叶子结点res.add(new ArrayList<>(list));//往下传递preTravel(root.left, targetSum, sum + root.val, list);preTravel(root.right, targetSum, sum + root.val, list);//回溯list.remove(list.size() - 1);}public List<List<Integer>> pathSum(TreeNode root, int targetSum) {res  = new ArrayList<>();if(root == null)return res;preTravel(root, targetSum, 0, new ArrayList<>());return res;}
}

114. 二叉树展开为链表

自己做

解:建立索引再移动

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {//建立索引public TreeNode preTravel(TreeNode root){if(root == null)return null;//如果是叶子结点就返回,以便建立索引if(root.left == null && root.right == null)return root;TreeNode left = preTravel(root.left);//建立索引if(left != null && root.right != null)left.right = root.right;//向上传递索引else if(left != null)return left;TreeNode right = preTravel(root.right);//向上传索引if(right != null)return right;return null;                    //正常情况建立索引并且右子树无索引后返回}//左孩子移到右孩子上public void move(TreeNode root){if(root == null)return;if(root.left != null){root.right = root.left;root.left = null;}move(root.left);move(root.right);}public void flatten(TreeNode root) {preTravel(root);move(root);}
}

http://www.dtcms.com/a/470182.html

相关文章:

  • 网站英文联系我们毕设做购物网站系统的原因
  • 当涂城乡建设局的网站wordpress 链接主题
  • 利用ps制作网站的设计江苏省建设工程集团
  • Linux内核架构浅谈9-Linux内核的开源生态:开发者协作与版本迭代机制
  • 【经验总结】AUTOSAR架构下NvM进入无限循环问题分析
  • 春招准备之Git篇
  • 11-py调用js
  • 分析竞争对手网站公司网站建设怎么
  • 2.Xshell效率实战:SSH管理秘籍的技术
  • 长春网站建设长春建设一个视频网站需要什么
  • 网站建设的设计方案平度市网站建设
  • Salesforce项目老掉坑?这8个思维陷阱千万别踩
  • 从递归到迭代的全方位解析——力扣38.外观数列(Count and Say)
  • 深度学习(DL)概念及实例操作
  • 基于单片机的四点位水位控制与报警系统设计
  • 如何将Python脚本输出(含错误)全量保存到日志文件?实战指南
  • 3d网页游戏排行做360手机网站优化
  • Unreal Engine 中的旋转表示:FQuat 与 FRotator 全面解析
  • 设计模式-解释器模式
  • 望牛墩镇仿做网站泰州建设网站
  • 网站建设与网页制作基础入门教程祥云平台官方网站
  • Unreal Engine C++ 开发核心:USceneComponent 常用方法详解
  • 陪诊陪护小程序前端功能解析:就医照料的便捷对接与全流程保障
  • 在线PhotoShop网页版常用快捷键和实用技巧
  • 湖南建设网站公司h5四合一网站建设
  • (一)黑马React(项目初始化/字体和样式/列表循环/高亮排序/自定义hooks/异步RTK)
  • 酒泉网站建设有限公司自己怎样做公司广告视频网站
  • 基于Python的旅游数据可视化系统的分析与设计-计算机毕设 97740
  • PHP MySQL 使用 ORDER BY 排序查询
  • QT中加载PSQL驱动