• LeetCode--ValidAnagram


    题目:Given two strings s and t, write a function to determine if t is an anagram of s.

    For example,
    s = "anagram", t = "nagaram", return true.
    s = "rat", t = "car", return false.    (两个字符串的单词是一样的,只是顺序不一致。)

    1、可以利用java的sort函数,将两个单词排序,然后比较;(排序判相等)

    public boolean isAangram(String s, String t) {
            if (s.length() != t.length()) {
                return false;
            }
            char a[] = s.toCharArray();
            char b[] = t.toCharArray();
            Arrays.sort(a);
            Arrays.sort(b);
            for (int i = 0; i < a.length; i++) {
                if (a[i] != b[i])
                    return false;
            }
            return true;
        }


     这个题目是考察数组的应用---------另外一种思路:(计数判相等)
    public class ValidAnagram {
        public boolean isAnagram(String s, String t) {
            if (s.length() != t.length())
                return false;
            int words[] = new int[26];
            for (int i = 0; i < s.length(); i++) {
                words[s.charAt(i) - 'a']++; // 题目的经典---现在数组中记录字母出现的次数,然后再用t去除这些次数;
                                            // 如果最后可以恢复为0,那么说明两者是anagram的;
                words[t.charAt(i) - 'a']--;
            }
            for (int x : words) {
                if (x != 0)
                    return false;
            }
            return true;
        }
    }

    态度决定行为,行为决定习惯,习惯决定性格,性格决定命运
  • 相关阅读:
    关于Request.QueryString参数的重构
    简单剖析Asp.Net MVC 源码中的三个IoC注入点
    如何更优雅的实现ExtJS的前端MVC模式下一个App多个Controller的动态加载
    Cenos 7.X重置密码
    openwrt 旁路由设置
    必看的20个小众精品网站
    一句话PYTHON FTP
    ubuntu/kylin 安装FTP
    支付宝转账
    appium环境变量设置
  • 原文地址:https://www.cnblogs.com/neversayno/p/5131450.html
Copyright © 2020-2023  润新知