20231231 Finished
This commit is contained in:
parent
602667bfee
commit
a4f5f284b8
|
@ -10,3 +10,4 @@ mod s0052_n_queens_ii;
|
||||||
mod s0912_sort_an_array;
|
mod s0912_sort_an_array;
|
||||||
mod s1276_number_of_burgers_with_no_waste_of_ingredients;
|
mod s1276_number_of_burgers_with_no_waste_of_ingredients;
|
||||||
mod s0006_zigzag_conversion;
|
mod s0006_zigzag_conversion;
|
||||||
|
mod s0007_reverse_integer;
|
||||||
|
|
66
src/solution/s0007_reverse_integer.rs
Normal file
66
src/solution/s0007_reverse_integer.rs
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
/**
|
||||||
|
* [7] Reverse Integer
|
||||||
|
*
|
||||||
|
* Given a signed 32-bit integer x, return x with its digits reversed. If reversing x causes the value to go outside the signed 32-bit integer range [-2^31, 2^31 - 1], then return 0.
|
||||||
|
* Assume the environment does not allow you to store 64-bit integers (signed or unsigned).
|
||||||
|
*
|
||||||
|
* <strong class="example">Example 1:
|
||||||
|
*
|
||||||
|
* Input: x = 123
|
||||||
|
* Output: 321
|
||||||
|
*
|
||||||
|
* <strong class="example">Example 2:
|
||||||
|
*
|
||||||
|
* Input: x = -123
|
||||||
|
* Output: -321
|
||||||
|
*
|
||||||
|
* <strong class="example">Example 3:
|
||||||
|
*
|
||||||
|
* Input: x = 120
|
||||||
|
* Output: 21
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* Constraints:
|
||||||
|
*
|
||||||
|
* -2^31 <= x <= 2^31 - 1
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
pub struct Solution {}
|
||||||
|
|
||||||
|
// problem: https://leetcode.cn/problems/reverse-integer/
|
||||||
|
// discuss: https://leetcode.cn/problems/reverse-integer/discuss/?currentPage=1&orderBy=most_votes&query=
|
||||||
|
|
||||||
|
// submission codes start here
|
||||||
|
|
||||||
|
impl Solution {
|
||||||
|
pub fn reverse(x: i32) -> i32 {
|
||||||
|
let (num, negative) = if x < 0 {
|
||||||
|
(-x, true)
|
||||||
|
} else {
|
||||||
|
(x, false)
|
||||||
|
};
|
||||||
|
|
||||||
|
let str = num.to_string();
|
||||||
|
let mut str: String = str.chars().rev().collect();
|
||||||
|
if negative {
|
||||||
|
str.insert(0, '-');
|
||||||
|
}
|
||||||
|
|
||||||
|
str.parse::<i32>().unwrap_or_else(|_| 0)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// submission codes end
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests {
|
||||||
|
use super::*;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_7() {
|
||||||
|
assert_eq!(321, Solution::reverse(123));
|
||||||
|
assert_eq!(-321, Solution::reverse(-123));
|
||||||
|
assert_eq!(21, Solution::reverse(120));
|
||||||
|
assert_eq!(0, Solution::reverse(0));
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user