博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
158. Valid Anagram【LintCode by java】
阅读量:4550 次
发布时间:2019-06-08

本文共 1055 字,大约阅读时间需要 3 分钟。

Description

Write a method anagram(s,t) to decide if two strings are anagrams or not.

Clarification

What is Anagram?

  • Two strings are anagram if they can be the same after change the order of characters.

Example

Given s = "abcd", t = "dcab", return true.

Given s = "ab", t = "ab", return true.
Given s = "ab", t = "ac", return false.

Challenge

O(n) time, O(1) extra space

解题:题目给定两个字符串,判断这两个字符串除了字符字符顺序不同外,是否相等。最容易想到的还是将字符排序,判断对位字符是否相等。不过在java中,要对字符串中的字符排序,只能转化成字符数组,那么就不满足challenge条件了。但是用其他方法(例如哈希表),代码就只能处理字母或者ASCII中的字符,有损通用性,没什么意思。贴一下排序方法的代码:

1 public class Solution { 2     /** 3      * @param s: The first string 4      * @param t: The second string 5      * @return: true or false 6      */ 7     public boolean anagram(String s, String t) { 8         // write your code here 9         char[]arr_s = s.toCharArray();10         char[]arr_t = t.toCharArray();11         Arrays.sort(arr_s);12         Arrays.sort(arr_t);13         return String.valueOf(arr_s).equals(String.valueOf(arr_t));14     }15 }

 

转载于:https://www.cnblogs.com/phdeblog/p/9125016.html

你可能感兴趣的文章
uva 101 POJ 1208 The Blocks Problem 木块问题 vector模拟
查看>>
Python 面向对象 特殊方法(魔法方法)
查看>>
WCF开发实战系列二:使用IIS发布WCF服务
查看>>
Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?
查看>>
从性能角度分析一下String,List,Map
查看>>
转载:使用sklearn进行数据挖掘
查看>>
第四章 Apk包测试用例编写(上)
查看>>
微信小程序wepy开发,$apply()不能更新页面数据的情况
查看>>
移动web端在线观看ppt
查看>>
02-vue学习篇-以正确的姿势使用vue
查看>>
第一个Azure应用
查看>>
Java 读写锁的实现
查看>>
分享、收藏、打印页面操作
查看>>
Vim 编辑器
查看>>
js跳转页面方法大全
查看>>
别名节点aliases
查看>>
BZOJ-10-1176: [Balkan2007]Mokia-CDQ第二类应用
查看>>
[C++]线性链表之顺序表<一>
查看>>
操作系统学习
查看>>
常用free文献数据库
查看>>