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

手工做刀网站百度关键词指数

手工做刀网站,百度关键词指数,手机网站模版,北京企业网站建设方案文章目录 Leetcode 110.平衡二叉树解题思路代码总结 Leetcode 257. 二叉树的所有路径解题思路代码总结 Leetcode 404.左叶子之和解题思路代码总结 草稿图网站 java的Deque Leetcode 110.平衡二叉树 题目:** 110.平衡二叉树** 解析:代码随想录解析 解题思…

文章目录

    • Leetcode 110.平衡二叉树
      • 解题思路
      • 代码
      • 总结
    • Leetcode 257. 二叉树的所有路径
      • 解题思路
      • 代码
      • 总结
    • Leetcode 404.左叶子之和
      • 解题思路
      • 代码
      • 总结

草稿图网站
java的Deque

Leetcode 110.平衡二叉树

题目:** 110.平衡二叉树**
解析:代码随想录解析

解题思路

求高度的方法加一点判断

代码

/*** 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;*     }* }*///使用求高度来代替,使用-1来减枝
class Solution {public boolean isBalanced(TreeNode root) {return getHeight(root) != -1;}public int getHeight(TreeNode root) {if (root == null)   return 0;int leftHeight = getHeight(root.left);if (leftHeight == -1)   return -1;int rightHeight = getHeight(root.right);if (rightHeight == -1)  return -1;if (Math.abs(leftHeight-rightHeight) > 1)return -1;return Math.max(leftHeight, rightHeight) + 1;}
}

总结

暂无

Leetcode 257. 二叉树的所有路径

题目:257. 二叉树的所有路径
解析:代码随想录解析

解题思路

使用回溯法的思想,终止条件(叶子节点),遍历(递归前加入元素,递归结束删除元素)

代码

/*** 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 List<String> binaryTreePaths(TreeNode root) {List<String> res = new ArrayList<String>();if (root == null)return res;List<Integer> paths = new ArrayList<Integer>();traversal(root, res, paths);return res;}private void traversal(TreeNode node, List<String> res, List<Integer> paths){paths.add(node.val);if (node.left == null && node.right == null){StringBuilder sb = new StringBuilder();sb.append(paths.get(0));for (int i = 1; i < paths.size(); i++)sb.append("->" + paths.get(i));res.add(sb.toString());return;}if (node.left != null){traversal(node.left, res, paths);paths.remove(paths.size()-1);}if (node.right != null){traversal(node.right, res, paths);paths.remove(paths.size()-1);}}
}//不用公共paths版的回溯
class Solution {public List<String> binaryTreePaths(TreeNode root) {List<String> res = new ArrayList<String>();traversal(root, res, "");return res;}private void traversal(TreeNode node, List<String> res, String paths){if (node == null)return;if (node.left == null && node.right == null){res.add(new StringBuilder(paths).append(node.val).toString());return;}String tmp = new StringBuilder(paths).append(node.val).append("->").toString();if (node.left != null)traversal(node.left, res, tmp);if (node.right != null)traversal(node.right, res, tmp);}
}

总结

回溯大法好

Leetcode 404.左叶子之和

题目:404.左叶子之和
解析:代码随想录解析

解题思路

代码

/*** 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 int sumOfLeftLeaves(TreeNode root) {if (root == null)return 0;int leftSum = sumOfLeftLeaves(root.left);int rightSum = sumOfLeftLeaves(root.right);if (root.left != null && root.left.left == null && root.left.right == null)leftSum = root.left.val;return leftSum + rightSum;}
}//迭代就是普通的遍历
class Solution {public int sumOfLeftLeaves(TreeNode root) {if (root == null)return 0;int res = 0;Stack<TreeNode> stack = new Stack<TreeNode>();stack.push(root);while (!stack.isEmpty()){TreeNode node = stack.pop();if (node.left != null && node.left.left == null && node.left.right == null)res += node.left.val;if (node.left != null)  stack.push(node.left);if (node.right != null) stack.push(node.right);}return res;}
}

总结

二叉树递归还得多学学多思考

http://www.yidumall.com/news/242.html

相关文章:

  • 基层网站建设存在困难怎么做app推广和宣传
  • 淘宝api 做网站百度刷排名seo
  • 乐清做网站的谷歌seo是什么
  • 如何做网站弹窗百度小说排行榜前十
  • 做电影网站多少钱百度秒收录软件工具
  • 在线html制作网页seo数据分析哪些方面
  • 英文网站建设服务合同模板最近七天的新闻重点
  • 浙江做网站公司如何宣传推广自己的店铺
  • 有专门做网站的吗谷歌浏览器官网
  • php做手机网站百度客服24小时人工服务
  • 运城门户网站建设发帖推广平台
  • 个人公众号登录平台seo快速优化文章排名
  • 中国城乡与建设部网站关键词搜索站长工具
  • 做网站怎么做放大图片软文世界
  • wordpress b2b模板丁的老头seo博客
  • 网站建设需求分析的功能百度站长工具seo查询
  • 英文网站建设模板下载百度知道合伙人官网登录入口
  • 百度做网站为什么上阿里云备案专业的制作网站开发公司
  • 招牌做的好的网站有哪些竞价sem培训
  • 通州 网站建设网站优化方案模板
  • 网站做的图上传后字变得很模糊在线搜索资源
  • 个人网站优秀淘宝指数网址
  • 暂时没有域名怎么做网站广州搜索seo网站优化
  • 可以做旅游攻略的网站手机优化软件下载
  • 凡客诚品官网疑似关闭关键词的优化和推广
  • 湖南省建设监理协会网站淘宝指数官网入口
  • wordpress 唯艾迪东莞搜索优化十年乐云seo
  • 海宁网站怎么做seo佛山网站建设
  • wordpress插件 七牛河南seo推广
  • 免备案做网站可以盈利吗seo外链代发