题解 | #进制转换# | 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()
    }
}

全部评论

相关推荐

風に薫る:前阵子把一个面试时老托腮抖腿的挂了 太松弛真不行
点赞 评论 收藏
分享
05-22 12:44
已编辑
门头沟学院 golang
点赞 评论 收藏
分享
mama3925:建议专业技能里测试移到最上面,加粗。然后适当加入些自动化测试工具。第二个项目,第三条亮点最后错别字。然后佬如果对自己很自信的话,可以项目放前面,然后项目里可以编造点测试经历,写在写在项目亮点的前两行。最后可加个自我评价,放个博客或者仓库链接
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务