zoukankan      html  css  js  c++  java
  • 3 字符串

    1 字符串(String)是由零个或多个字符组成的有限序列。

    1.1 自定义一个函数实现字符串转整数的功能

    特殊情况

    1. 能够排除首部的空格,从第一个非空字符开始计算
    2. 允许数字以正负号(+-)开头
    3. 遇到非法字符便停止转换,返回当前已经转换的值,如果开头就是非法字符则返回 0
    4. 在转换结果溢出时返回特定值,这里是最大/最小整数

    测试用例

      " 010"," +004500"," -001+2a42"," +0 123" ,"-2147483648", "2147483648",

      " - 321", " -11919730356x" ,"9223372036854775809"

    正确输出

      10,4500,-1 ,0,-2147483648,2147483647,0,-2147483648,2147483647

     1 public static int atoi(String s)
     2 {
     3     if(s == null || s.length() == 0)
     4         return 0;
     5     char[] array = s.toCharArray();
     6     long result = 0;  /* 要返回的结果 */
     7     int pos = 0;  /* 记录空格出现的位置 */
     8     int count = 0;  /* 记录'+'或'-'出现的次数 */
     9     int flag = 1;  /* 判断正负数 */
    10     for(int i = 0; i < array.length; i++)
    11     {
    12         Character c = array[i];
    13         if(c >= '0' && c <= '9')
    14         {
    15             result = result * 10 + c - '0';
    16             if(flag == 1 && result > Integer.MAX_VALUE)
    17                 return Integer.MAX_VALUE;
    18             else if(flag == -1 && -result < Integer.MIN_VAlUE)
    19                 return Integer.MIN_VALUE;
    20             pos++;
    21         }
    22         else if(c == ' ' && pos == 0 && count == 0)
    23             continue;
    24         else if(c == '+' && count == 0)
    25             count = 1;
    26         else if(c == '-' && count == 0)
    27         {
    28             flag = -1;
    29             count = 1;
    30         }
    31         else
    32         {
    33             return (int)(flag * result);
    34         }
    35     }
    36     return (int)(flag * result);
    37 }
    算法描述

    1.2 关于 Java 中 length、length()、size() 的区别

    • length:数组的属性;
    • length():String的方法;
    • size():集合/映射的方法;(List、Set、Map)
  • 相关阅读:
    flex兼容写法
    多行文字,最后一行省略号(适用于移动端)
    checkbox样式修改
    响应式布局
    微信常用的页面跳转
    css小技巧(清除滚动条)
    JS学习---PHP浅识
    qml 画页迁移
    list滚动条Scroll 偏移和长度计算公式总结
    qml listview关键字高亮
  • 原文地址:https://www.cnblogs.com/sketeton/p/11688429.html
Copyright © 2011-2022 走看看