反转字符串

题目

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

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

 

示例 1:

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

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

思路

很简单

代码

code

class Solution {
    public void reverseString(char[] s) {
     int length = s.length;
        for (int i = 0 ; i < (s.length/2);i++){
            char temp = s[i];
            s[i] = s[length-1-i];
            s[s.length-1-i] = temp;
        }
    }
}

字符串中的第一个唯一字符

题目

给定一个字符串 s ,找到 它的第一个不重复的字符,并返回它的索引 。如果不存在,则返回 -1 。

 

示例 1:

输入: s = "leetcode"
输出: 0
示例 2:

输入: s = "loveleetcode"
输出: 2
示例 3:

输入: s = "aabb"
输出: -1

思路

使用map

代码

code

class Solution {
    public int firstUniqChar(String s) {
  Map<Character,Integer> map = new HashMap<>();
        char[] c = s.toCharArray();
        for (char ac:c){
            map.put(ac,map.getOrDefault(ac,0)+1);
        }
       for (int i = 0 ; i < s.length();i++){
           if (map.get(c[i]) == 1)
           {
               return  i;
           }
       }
        return -1;
    }
}

END

有问题请联系feinan6666@outlook.com

本文作者:
文章标题:2022-3-1 力扣刷题记录
本文地址:https://home.cnboy.top/79.html
版权说明:若无注明,本文皆神码人の世界原创,转载请保留文章出处。
最后修改:2022 年 03 月 02 日 08 : 23 PM
如果觉得我的文章对你有用,请随意赞赏