zoukankan      html  css  js  c++  java
  • 【嘎】字符串-反转字符串

    题目:

    编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。

    不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题

    你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。

    示例 1:

    输入:["h","e","l","l","o"]
    输出:["o","l","l","e","h"]
    示例 2:

    输入:["H","a","n","n","a","h"]
    输出:["h","a","n","n","a","H"]

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/reverse-string

    解答:

    一开始还用了奇偶,后来想想好像不需要

    class Solution {
        public void reverseString(char[] s) {
            int len = s.length;
            if (s.length > 0) {
               int center = len / 2;
               for (int i = 0; i < center; i++) {
                       char left = s[i];
                       s[i] = s[len - 1 - i];
                       s[len - 1 - i] = left;
                    }
               // 偶数
            //    if (center && 1 == 0) {
            //        for (int i = 0; i < center; i++) {
            //            char left = s[i];
            //            s[i] = s[len - 1 - i];
            //            s[len - 1 -i] = left;
            //        }
            //    } else {
            //         for (int i = 0; i < center; i++) {
            //            char left = s[i];
            //            s[i] = s[len - 1 - i];
            //            s[len - 1 -i] = left;
            //         }
            //    }
            }
        }
    }

     其他人的写法:

    for (int i = 0, j = s.length-1; i <= j; i++, j--){
                char a = s[i];
                s[i] = s[j];
                s[j] = a;
            }
    
    作者:zyfsuzy
    越努力越幸运~ 加油ヾ(◍°∇°◍)ノ゙
  • 相关阅读:
    Jzoj2682 最长双回文串
    Jzoj2682 最长双回文串
    【hdu3853】Loops
    【tyvj1015】【caioj1060】公路乘车
    【luogu1064】金明的预算方案
    【bzoj1260】【CQOI2007】涂色paint
    【UVa1629】Cake slicing
    【NYOJ746】整数划分(四)
    【NYOJ 15】括号匹配2
    【poj2955】Brackets
  • 原文地址:https://www.cnblogs.com/utomboy/p/12702994.html
Copyright © 2011-2022 走看看