zoukankan      html  css  js  c++  java
  • Leetcode基础习题集

    Reverse Integer

    Reverse digits of an integer.

    Example1: x = 123, return 321
    Example2: x = -123, return -321

    答案

    public int reverse(int x) {
            long rev= 0;
            while( x != 0){
                rev= rev*10 + x % 10;
                x= x/10;
                if( rev > Integer.MAX_VALUE || rev < Integer.MIN_VALUE)
                    return 0;
            }
            return (int) rev;
        }

     ZigZag Conversion

    The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility)

    P   A   H   N
    A P L S I I G
    Y   I   R
    

    And then read line by line: "PAHNAPLSIIGYIR"

    Write the code that will take a string and make this conversion given a number of rows:

    string convert(string text, int nRows);

    convert("PAYPALISHIRING", 3) should return "PAHNAPLSIIGYIR".

    string convert(string s, int nRows) {
    
        if (nRows <= 1)
            return s;
    
        const int len = (int)s.length();
        string *str = new string[nRows];
    
        int row = 0, step = 1;
        for (int i = 0; i < len; ++i)
        {
            str[row].push_back(s[i]);
    
            if (row == 0)
                step = 1;
            else if (row == nRows - 1)
                step = -1;
    
            row += step;
        }
    
        s.clear();
        for (int j = 0; j < nRows; ++j)
        {
            s.append(str[j]);
        }
    
        delete[] str;
        return s;
    }
  • 相关阅读:
    lombok 简化 Java 代码
    java集合之ArrayList
    java集合概述
    NOIP 2017 逛公园
    NOIP 2017 时间复杂度
    NOIP 2017 奶酪
    NOIP 2013 货车运输
    NOIP 2012 疫情控制
    NOIP 2015 运输计划
    NOIP2014 联合权值
  • 原文地址:https://www.cnblogs.com/chp008/p/7944074.html
Copyright © 2011-2022 走看看