题解 | #进制转换# | Rust

进制转换

https://www.nowcoder.com/practice/2cc32b88fff94d7e8fd458b8c7b25ec1

struct Solution{

}

impl Solution {
    fn new() -> Self {
        Solution{}
    }

    /**
    * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
    *
    * 进制转换
        * @param M int整型 给定整数
        * @param N int整型 转换到的进制
        * @return string字符串
    */
    pub fn solve(&self, M: i32, N: i32) -> String {
        let mut ans = String::new();
        let mut M = M;
        let mut positive = true;
        if M < 0 {
            positive = false;
            M = -M;
        }
        while M > 0 {
            let m = M%N;
            M/=N;
            if m < 10 {
                ans.push(('0' as u8 + m as u8)as char);
            } else {
                ans.push(('A' as u8 + (m - 10) as u8) as char);
            }
        }
        if !positive {
            ans.push('-');
        }
        ans.chars().rev().collect()
    }
}

全部评论

相关推荐

点赞 评论 收藏
分享
10-13 17:47
门头沟学院 Java
wulala.god:图一那个善我面过,老板网上找的题库面的
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-24 20:55
阿里国际 Java工程师 2.7k*16.0
程序员猪皮:没有超过3k的,不太好选。春招再看看
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务