7. Reverse Integer (Easy)

https://leetcode.com/problems/reverse-integer/

与えられた数値をひっくり返せという問題。

# @param {Integer} x  
# @return {Integer}  
def reverse(x)  
    s = x.to_s  
    res = ''  
    start = 0  
    if s.start_with?('-')  
        res = '-'  
        start = 1  
    end  
    num = s[start..-1]  
    res += num.reverse  
    r = res.to_i  
    if r.bit_length < 32  
        r  
    else  
        0  
    end  
end  

邪道だけど数値を一旦文字列にして reverse した。
回答は 32bit signed int をオーバーフローしたときは 0 を返せとのことだが、
Ruby は 32bit を超えてもオーバーフローせずに扱えてしまうので、 bit_length を使って自分で判断する必要がある。