[LeetCode 257,258][简单]二叉树的所有路径/各位相加

257.二叉树的所有路径
题目链接

class Solution {
public:
    vector<string>ans;
    string path="";
    void getans(TreeNode* root,string path){
        if(root)path += to_string(root->val);
        else return ;
        if(!(root->left||root->right))ans.emplace_back(path);
        else path += "->";
        getans(root->left,path);
        getans(root->right,path);
    }
    vector<string> binaryTreePaths(TreeNode* root) {
        ios::sync_with_stdio(0);
        getans(root,path);
        return ans;
    }
};

258.各位相加
题目链接
简单证明一下:
1. a [ 0 ] ∗ 1 0 0 + a [ 1 ] ∗ 1 0 1 + . . . + a [ n ] ∗ 1 0 n → ∑ i = 0 n a [ i ] 1.a[0]*10^0 + a[1]*10^1+...+a[n]*10^n \rightarrow \sum_{i=0}^{n}{a[i]} 1.a[0]100+a[1]101+...+a[n]10ni=0na[i]
2. 左 减 右 Δ = ∑ i = 1 n ( 1 0 i − 1 ) a [ i ] 2.左减右\Delta=\sum_{i=1}^{n}{(10^i-1)a[i]} 2.Δ=i=1n(10i1)a[i]
3. 显 然 : Δ % 9 = = 0 Δ > 0   i f   i > 0 Δ < l e f t 3.显然: \\ \Delta \%9==0\\ \Delta > 0\ if\ i>0\\ \Delta <left 3.:Δ%9==0Δ>0 if i>0Δ<left
4. 由 3 得 一 个 大 于 10 的 数 一 定 会 收 敛 到 一 个 小 于 10 大 于 0 的 值 , 并 且 每 次 的 减 量 是 9 的 倍 数 4.由3得一个大于10的数一定会收敛到一个小于10大于0的值,并且每次的减量是9的倍数 4.3101009
5. 如 果 n u m 是 9 的 倍 数 , 答 案 是 9 , 否 则 答 案 为 n u m % 9 5.如果num是9的倍数,答案是9,否则答案为num\%9 5.num99num%9

class Solution {
public:
    int addDigits(int num) {
        return (num-1)%9+1;
    }
};
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值