ltx_zero

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

隔了好久好久好久好久开始做题~要坚持下去鸭!

Num 67 二进制求和 以后不贴英文名字了

class Solution {
public:
    string addBinary(string a, string b) {
        int lena=a.length();
        int lenb=b.length();
        string c;
        int ans[1000];
        char ansc[1000];
        memset(ans,0,sizeof(ans));
        memset(ansc,0,sizeof(ansc));
        for(int i=0;i<=min(lena,lenb)-1;i++)
        {
            ans[i]=ans[i]+(int)(a[lena-1-i]-48)+(int)(b[lenb-1-i]-48);
            ans[i+1]=ans[i]/2;
            ans[i]%=2;
        }
        if(lena>lenb)
        {
            for(int i=lenb;i<lena;i++)
            {
                ans[i]=ans[i]+(int)(a[lena-1-i]-48);
                ans[i+1]=ans[i]/2;
                ans[i]%=2;
            }
        }
        else if(lenb>lena)
        {
            for(int i=lena;i<lenb;i++)
            {
                ans[i]=ans[i]+(int)(b[lenb-1-i]-48);
                ans[i+1]=ans[i]/2;
                ans[i]%=2;
            }
        }
        if(ans[max(lena,lenb)]==0)
        {
            for(int i=0;i<max(lena,lenb);i++)
                ansc[i]=ans[max(lena,lenb)-i-1]+48;
        }
        else
            for(int i=0;i<=max(lena,lenb);i++)
            ansc[i]=ans[max(lena,lenb)-i]+48;
        c=ansc;
        return c;
    }
};
View Code

很简单,注意一下最后如果有0的话需要删掉

估计可以优化代码,基本一致的代码来回写了两次,先码回头改

Num 101 对称二叉树

刚开始的时候直接在isSymmetric里面迭代,这样的判断是左右左右完全一样的,不是对称的

只要稍加修改代码就行

另外注意

判断isMirror(root,root)而不使用左右孩子,因为在输入一个空树的时候会报错访问null的左右

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
class Solution {
public:
    bool isSymmetric(TreeNode* root) {
        return isMirror(root,root);
    }
    bool isMirror(TreeNode *t1,TreeNode*t2)
    {
        if(t1==NULL && t2==NULL) return true;
        if(t1==NULL||t2==NULL) return false;
        return (t1->val==t2->val && isMirror(t1->right,t2->left) && isMirror(t1->left,t2->right));
    }
};
View Code

 

posted on 2019-07-03 18:59  ltx_zero  阅读(178)  评论(0编辑  收藏  举报