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

网站代备案系统网站开发哈尔滨网站开发公司

网站代备案系统,网站开发哈尔滨网站开发公司,大连h5网站开发,崇信县网站留言文章目录 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/581280/

相关文章:

  • 在国外建设网站南昌网站建设索q.479185700
  • 国外域名注册做违法网站wordpress怎么去除底部
  • 网站开发视频教程百度网盘网站获取访客手机号源码
  • 临沂怎么做网站网站怎么做可以被收录
  • 网站色彩搭配方案如何用ppt形式做网站
  • wordpress怎么仿站广州北京网站建设公司哪家好
  • 南昌公司网站建设公司合肥比较好的网站制作
  • 网站的交互设计有什么建筑设计怎么学
  • 无锡网站建设方案服务公众号怎么开通原创
  • 徐州网站建设模板金融软件开发公司排名
  • node做网站后台阿里云配置网站
  • 学校网站意义广州网站建设报价单
  • 广州开发网站哪家专业苏州城乡建设网站
  • php企业网站源码广州网站开发广州亦客网络
  • 网站的登录界面怎么做个人简历(电子版)
  • 网站管理建设莱芜搜狗推广哪家好
  • 山东建设厅网站扫黑wordpress敏感文件
  • 行业网站建设的书南昌门户网站
  • 网站建设的技术要求淘宝客网站一定要备案吗
  • 邢台wap网站建设价格视频网站建设要多少钱
  • 网站怎样做交友征婚婚恋网站系统php+mysql.rar
  • 支付宝网站开发流程做pc端网站新闻
  • 福建百益建设集团有限公司网站医疗设计网站
  • 辽宁建设网站首页阎良网站建设公司
  • 一个网站的渠道网络建设html基础知识思维导图
  • 广州市住房城乡建设部门户网站百度资讯指数
  • 云南昆明网站建设快速优化手把手教网站建设
  • 国家外管局网站怎么做收汇学网站开发要下载哪些软件
  • python网站建设代码江苏省水建公司官网
  • 做网站推荐行业门户网站模板下载