class Solution {
public:
    /**
     * 
     * @param x int整型 
     * @return int整型
     */
    int reverse(int x) {
        // write code here
        if( 0==x )
        {
            return 0;
        }

        char solve[15];
        sprintf(solve,"%d",x);

        long long sum=0;
        int temp=0;
        int tag=1;//权重
        bool flag=false;//不是负数

        int len=strlen( solve );
        int left=0,right=len-1;
        while( left<right )
        {
            swap(solve[left], solve[right]);
            ++left;
            --right;
        }
        while( len-- )
        {
            if( '-'==solve[len] )
            {
                flag=true;
                continue;
            }

            int num=tag*(solve[len]-'0');
            tag*=10;

            sum+=(long long)num;
            temp+=num;
        }

        if( temp!=sum )
        {
            return 0;
        }
        else
        {
            if( flag )
            {
                return -1*temp;
            }
            else
            {
                return temp;
            }
        }

    }
};