Easy Python
\n\nif num>0 then get the smallest number from num except 0\nadd the smallest number in a new string followed with all the zeros and\nadd the remaining numbers 
\n\nif num>0 then get the smallest number from num except 0\nadd the smallest number in a new string followed with all the zeros and\nadd the remaining numbers from num in sorted order to the new string\n\nif num<0 then sort the num in reverse order and return it\n\nif num =0 then return 0\n\n```\nclass Solution:\n    def smallestNumber(self, num: int) -> int:\n        if num==0:\n            return 0\n        if num>=0:\n            num=str(num)\n            num=sorted(num)\n            ans=\'\'\n            z=num.count(\'0\')\n            for i in range(z):\n                num.pop(0)\n            if len(num)>0:\n                ans+=num[0]\n            ans+=\'0\'*z\n            for i in range(1,len(num)):\n                ans+=num[i]\n        else:\n            num=str(num)\n            num=sorted(num[1:])\n            num.sort(reverse=True)\n            ans=\'-\'\n            for i in range(len(num)):\n                ans+=num[i]\n        return ans\n```\n\n\n\n
['String', 'Python', 'Python3']