LeetCode210402分别反转字符串的每一个新单词

分别反转字符串的每一个新单词

输入:“m’I gnivol twl”
输出:“I’m loving lwt”在这里插入图片描述

  1. 默认起始字符位置为start=0,start指向初始i
  2. 循环如果当前字符不为空格 i++,最后i指向第一个空格
  3. 定义一个p指针指向start,代表每个新单词的初始位置。
  4. 核心:计算每个单词的终末位置:start+i-1-p,因为在-p,若使p++,则从后向前依次append()
  5. 如果i指针指向空格,则i++,此时i必为下一个新单词的起始位置。
public static String method(String s) {
    
    
        StringBuffer sb = new StringBuffer();
        int n = s.length();

        int i = 0;// 无论遍历到什么,i每遍历到都++

        while (i < n) {
    
    
            int start = i; // 空格的下一个字符索引(即每个单词的起始位)
            while (i < n && s.charAt(i) != ' ') {
    
    
                i++;
            }

            for (int p = start; p < i; p++) {
    
     // 从第一个单词的起始到第二个单词的起始
                sb.append(s.charAt(start + i - 1 - p));
            }
            while (i < n && s.charAt(i) == ' ') {
    
    
                i++;
                sb.append(' ');
            }
        }
        return sb.toString();
    }

二进制求和

在这里插入图片描述

public static String method(String s1, String s2) {
    
    
        StringBuilder sb = new StringBuilder();
        int add = 0; // 进位初始0

        int s1Len = s1.length() - 1;
        int s2Len = s2.length() - 1;
        for (int i = s1Len, j = s2Len; i >= 0 || j >= 0; i--, j--) {
    
    

            int sum = add; // 保留进位,勿遗失,初始sum为进位
//            int up = s1.charAt(i) - '0';
//            int down = s2.charAt(j) - '0';
//            sum = sum + up + down; // 勿遗失sum

//            if (i >= 0) {
    
    
//                sum=sum+(s1.charAt(i)-'0');
//            }
//
//            if (j >= 0) {
    
    
//                sum=sum+(s2.charAt(j)-'0');
//            }

//             简便写法
            sum = sum + (i >= 0 ? s1.charAt(i) - '0' : 0);
            sum = sum + (j >= 0 ? s2.charAt(j) - '0' : 0);


            sb.append(sum % 2); // 竖式相加的结果,对2取余,即为当前位的值
            add = sum / 2; // 判断是否有进位
        }
        sb.append(add == 1 ? add : ""); // 从右向左竖式计算,若最终有进位,则追加进位
        return sb.reverse().toString(); // 反转字符串

    }

猜你喜欢

转载自blog.csdn.net/m0_47119598/article/details/115394137
今日推荐