|
问题描述& K0 E" u- U' T8 N# k4 I+ |0 V& L
1 P- G, Z5 V$ X5 d1 S* h3 h4 [对于一个给定的 source 字符串和一个 target 字符串,你应该在 source 字符串中找出 target 字符串出现的第一个位置(从0开始)。如果不存在,则返回 -1。% D- H4 c& O: q
样例 @; r! }# K- d& q& J
样例 1:
" j* |* x( D( G输入: source = "source" , target = "target"8 C$ k- ]. K2 F
输出:-1
. c+ ?/ R9 F- `0 b- I! _ y1 \3 M样例解释: 如果source里没有包含target的内容,返回-1
3 ]! r ^! E) Q# @* `9 |样例 2:$ i1 G# l7 r$ m! f" l/ {6 E
输入: source = "abcdabcdefg" ,target = "bcd"5 ]) v2 L* v% j7 K
输出: 1
]' a7 ~% e% \1 x8 K. N样例解释: 如果source里包含target的内容,返回target在source里第一次出现的位置
* Z- B9 d* o' i) b6 j解法 H( W) ?% M: ^2 f ]0 Z
( c8 b: Y# L% H/ U x+ U1 M
public static int fun(String source, String target) { int result = -1; if (source.length() == 0 || target.length() == 0) { return result; } if (source.length() < target.length()) { return result; } int len = 0;//记住匹配到的长度 int index = 0;//记住第一个匹配到的索引 for (int i = 0; i < source.length(); i++) { for (int j = 0; j < target.length(); j++) { if (source.charAt(i) == target.charAt(j)) { index = i; len++; break; } } } if (len == target.length()) { //如果长度相等 则得到相应的索引 return index; } return result; }0 [% H x, l( k Q
Java吧 收集整理 java论坛 www.java8.com |
|