Python || Faster than 100% || Short Code
Explanation :\nconvert num to string\n  If num is negative:\n\t exclude the sign , sort the string in descending order , add the sign , return .\n if num is pos
Explanation :\nconvert ```num``` to string\n*  If ```num``` is negative:\n\t* exclude the sign , sort the string in descending order , add the sign , return .\n* if ```num``` is positive:\n\t* append all the leading zeroes(if any) after the first non-zero digit , return .\n```\nclass Solution:\n    def smallestNumber(self, num: int) -> int:\n        lst=[i for i in str(num)]\n        if num<0:\n            return \'\'.join([\'-\'] + sorted(lst[1:],reverse=True))\n        lst=sorted(lst)\n        if \'0\' in lst:\n            itr=0\n            while itr<len(lst) and lst[itr]==\'0\':\n                itr+=1\n            if itr==len(lst):       #All zeroes\n                return \'\'.join(lst)\n            return \'\'.join([lst[itr]]+lst[:itr]+lst[itr+1:])\n        return \'\'.join(lst)\n```\n
['Sorting', 'Python']