[JAVA]LeetCode8 String to Integer (atoi)

來源:互聯網
上載者:User

標籤:leetcode

Implement atoi to convert a string to an integer.

Hint: Carefully consider all possible input cases. If you want a challenge, please do not see below and ask yourself what are the possible input cases.

Notes: It is intended for this problem to be specified vaguely (ie, no given input specs). You are responsible to gather all the input requirements up front.

題意:將字串轉換為整型。這一題感覺不是很簡單,經過多次修改,終於accepted!!!

考慮的問題比較多,首先字串轉換中遇見非數字字元的處理,字串超出最大整型和最小整型怎麼處理。

開題遇到空格,用trim()去空格。

+,-號只可能在去空格後第一位。

中間遇到非數字字元,直接返回前一段字元,判斷是否有效,並轉換為整型。

代碼如下:

public int myAtoi(String str) {        if(str==null)return 0;        str=str.trim();//去空格        int len=str.length();        if(len==0)return 0;        char signal='+';        int singalNum=0;        int i=0;        char ch=str.charAt(i);        double result=0;        while(i<len)        {            ch=str.charAt(i);            if(ch=='-'||ch=='+')//判斷符號            {                if(i!=0)return 0;//如果符號不在首位,返回0                if(ch=='-')signal='-';            }else if(ch>='0'&&ch<='9')            {                result=result*10+(str.charAt(i)-'0');//處理數字            }else if(ch<'0'||ch>'9')//遇到非數字字元,跳出迴圈,只計算非數字之前的合法數字字元            {                break;            }            i++;        }        if(signal=='-')        result=-1*result;        if(result>Integer.MAX_VALUE)return Integer.MAX_VALUE;        if(result<Integer.MIN_VALUE)return Integer.MIN_VALUE;        return (int)result;    }


[JAVA]LeetCode8 String to Integer (atoi)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.