# 2165. Smallest Value of the Rearranged Number
###### tags: `Leetcode` `Medium` `Sorting`
Link: https://leetcode.com/problems/smallest-value-of-the-rearranged-number/description/
## 思路
如果num是负数 把各个位从大到小排序 加上负号输出即可
如果num是正数 从小到大排序 找到第一个不是0的位 然后和第一位交换
## Code
```python=
class Solution:
def smallestNumber(self, num: int) -> int:
s = sorted(str(abs(num)))
if num<0:
return -int(''.join(s[::-1]))
i = next((i for i, a in enumerate(s) if a!="0"), 0)
s[i], s[0] = s[0], s[i]
return int(''.join(s))
```