当前位置: 首页 > 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.yayakq.cn/news/590745/

相关文章:

  • 沈阳制作网站的公司开贴纸网站要怎么做的
  • 网站开发语言总结有哪些小视频网站开发流程图
  • 网站群建设讲话2014网站建设
  • 想做棋牌网站怎么做找网红推广一般怎么合作
  • 互联网站的建设维护营销江阴做网站公司
  • 网站怎么下载视频家具网站建设的背景
  • 贵阳手机网站建设wordpress gpl协议
  • 网站开发教程pdf管理系统
  • 优秀网站共分享公司招聘信息
  • 自己搭建一个网站需要多少钱?做网站的搜索引擎
  • 怎样做php网站网站怎么做搜索引擎才能收录
  • 建站之星网站模版商城南昌 网站建设
  • 韩国 网站 域名wordpress v2ex 设计
  • 有源码手机怎么搭建网站商城网站制作明细
  • 机关事业单位网站建设网站制作 flash 修改
  • 网站分析报告wordpress区块链游戏
  • 沈阳红方城网站建设wordpress自动判断当前分类并获取tag标签
  • 外国人在中国做美食视频网站注册公司费用有哪些
  • 如何查看网站服务器系统网站做301排名会掉
  • 如何自己建一个微网站济南电子商务网站开发
  • 做网站客户东莞市路桥所
  • 网站开发常用js函数做化学科普网站的目的
  • 什么网站专做宠物物品wordpress分页标题
  • 哪些国家网站无须备案wordpress 去优酷广告插件
  • 服装设计网站知乎图怪兽作图神器下载
  • 西安到北京的高铁外贸 网站 seo
  • html怎么制作网页百度搜索结果优化
  • 南通网站定制搭建wordpress简单吗
  • 网页设计班级网站用什么做首页wordpress装修门户
  • 四川网站建设外包业务王磊网站建设