Day 43
第258题:
给定一个非负整数 num
,反复将各个位上的数字相加,直到结果为一位数。(来自LeetCode)
1、每次使用sum来存储num各位相加的值,然后递归(或者迭代)得出最终结果;
2、通过数学问题来解决,每一个数num例如321可以等于3*100+2*10+1也可以等于(3*99+2*9+3+2+1);
每一位都是这样,所以我们用num对9取余,就可以得出结果,但是如果是9的倍数的时候,取余的结果的0,不符合;
所以需要先将num-1再%9再+1,返回正确结果。
第257题:
给定一个二叉树,返回所有从根节点到叶子节点的路径。
说明: 叶子节点是指没有子节点的节点(来自LeetCode)
1、就是遍历二叉树,然后得出每条路经,加入集合中;
剑指Offer 50:
在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。
1、可以用两个数组分别来表示字符和计算字符个数;
然后将个数为1的字符返回。