258. Add Digits

Digit root 数根问题

/**
* @param {number} num
* @return {number}
*/
var addDigits = function(num) {
var b = (num-1) % 9 + 1 ;
return b;
}; //之所以num要-1再+1;是因为特殊情况下:当num是9的倍数时,0+9的数字根和0的数字根不同。

性质说明

1.任何数加9的数字根还是它本身。(特殊情况num=0)

       小学学加法的时候我们都明白,一个数字加9,就是把十位加1,各位减1。因此十位加个位的和是不变的;如果有进位,即十位上是9,那么进位之后十位会变成0,百位会加1,道理和一个一位数加9是一样的。

2.9乘任何数字的数字根都是9。

      同样是小学时学乘法时,我们在计算一位数乘九的时候,把十只手指头排开,乘几便弯下第几只手指头,前后的手指个数便是那个结果。它的数字根永远是10-1=9。多位数的化,拆分每一位数字即可。
 

104. Maximum Depth of Binary Tree

/**
* Definition for a binary tree node.
* function TreeNode(val) {
* this.val = val;
* this.left = this.right = null;
* }
*/
/**
* @param {TreeNode} root
* @return {number}
*/
var maxDepth = function(root) {
if(root===null){
return 0;
}
var le = maxDepth(root.left);
var ri = maxDepth(root.right); return 1+Math.max(le,ri); };

【注】custom test里面的binary tree visualizer使用数组产生二叉树,如[1,2,3,4,5]

      这题考察二叉树深度的计算,使用遍历完成,从底层return0不断+1到初始位置完成计算


226. Invert Binary Tree

题目描述里面的这句话笑了- -: Google: 90% of our engineers use the software you wrote (Homebrew), but you can’t invert a binary tree on a whiteboard so fuck off.

/**
* Definition for a binary tree node.
* function TreeNode(val) {
* this.val = val;
* this.left = this.right = null;
* }
*/
/**
* @param {TreeNode} root
* @return {TreeNode}
*/
var invertTree = function(root) {
if(root===null){
return root
} var tem = root.left;
root.left = root.right;
root.right = tem;
invertTree(root.left);
invertTree(root.right); return root
};

【注】这题和上面的二叉树深度的题有点像,一下就做出来了,没什么好说的

最新文章

  1. node服务的监控预警系统架构
  2. Xpath基础语法学习
  3. 热烈庆祝华清远见2014嵌入式系统(Linux&Android)开发就业培训课程全面升级
  4. 并查集(HDOJ 1856)
  5. hadoop2.X使用手册1:通过web端口查看主节点、slave1节点及集群运行状态
  6. 数据添加到DataTable
  7. 转-Python optionParser模块的使用方法
  8. PHP浮点数引起的四舍五入问题
  9. 调用 sphinx-build生成HTML文件
  10. 使用AOP 使C#代码更清晰
  11. RealView编译器常用特有功能(转)
  12. 企业级镜像仓库harbor搭建
  13. zabbix自定义监控项、添加图形、设置触发器、远程执行命令
  14. Appium测试安卓apk遇到的问题及解决方法
  15. 命令更新emacs
  16. 洛谷 P4948 拉格朗日多项式插值(杜老师板子)
  17. springboot发送邮件
  18. JavaScript 中禁止用户右键菜单,复制,选取,Ctrl,Alt,Shift. 获取宽高,清除浮动
  19. asp控制项目超时
  20. PHP生成缩略图(1)--简单缩略图

热门文章

  1. 使IFRAME在iOS设备上支持滚动
  2. Leetcode_278_First Bad Version
  3. How to download the installation package by ZOL Downer
  4. unix下的ACL
  5. 关于UIView中相关坐标及改变的相关方法
  6. 服务器:SATA、PATA及IDE的比较
  7. codeblocks设置代码黑色主题
  8. ajax-------封装
  9. FileReader对象异步获取外部文件的内容
  10. 剑指offer--矩阵中的路径