对于一个给定的 source 字符串和一个 target 字符串,你应该在 source 字符串中找出 target 字符串出现的第一个位置(从0开始)。如果不存在,则返回 -1。

本文介绍了一个简单的Java方法,用于在源字符串中查找目标字符串首次出现的位置,并返回该位置的索引。若未找到则返回-1。通过具体示例演示了如何使用indexOf方法实现这一功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题;

对于一个给定的 source 字符串和一个 target 字符串,你应该在 source 字符串中找出 target 字符串出现的第一个位置(从0开始)。如果不存在,则返回 -1

如果 source = "source" 和 target = "target",返回 -1

如果 source = "abcdabcdefg" 和 target = "bcd",返回 1

答案很简单利用String中的一个str.indexof(str)就可以轻松得到。

public static int strStr(String source, String target) {
        // write your code here
    if(source==null||target==null) {
    return -1;
    }
    int index1 = source.indexOf(target);
return index1;
    }
    public static void main(String[] args) {
    String A = “abcdefghij”;
    String B = "bd";
        System.out.println(strStr(A,B));
    }

### 关于字符串 `source` `target` 的用法或操作 在编程领域中,字符串是一种常见的数据结构,通常由一系列字符组成。对于给定的两个字符串 `source` `target`,可以执行多种操作来分析它们的关系或特性。 #### 1. 判断两字符串是否为异序词 可以通过比较两个字符串中的字符排列顺序来判断其是否互为异序词。具体方法是对两个字符串分别进行排序并对比结果。如果两者相同,则说明它们是异序词[^4]。 ```python def is_anagram(s1, s2): return sorted(s1) == sorted(s2) s1 = 'abcd' s2 = 'dcba' print(is_anagram(s1, s2)) # 输出 True ``` #### 2. 查找子串位置 当需要在一个较长的字符串(如 `source`)中查找另一个较短字符串(如 `target`)首次出现的位置时,可采用内置函数或其他算法实现此功能[^5]。 ```python def str_str(haystack, needle): if not needle: return 0 for i in range(len(haystack)-len(needle)+1): if haystack[i:i+len(needle)] == needle: return i return -1 haystack = "hello world" needle = "world" result = str_str(haystack, needle) if result != -1: print(f"'{needle}' found at index {result}.") else: print("Substring not found.") ``` #### 3. 字符串连接 利用特定函数能够轻松完成多个字符串之间的串联工作。例如,在 C 语言里有专门负责此类任务的功能——`strcat()` 函数[^3]。 ```c #include <stdio.h> #include <string.h> int main(){ char dest[50]="Hello "; const char src[]="World!"; strcat(dest,src); printf("%s\n",dest); // Output: Hello World! } ``` #### 4. 转换数值型字符串至整数形式 有时需将表示数字的文字表达转化为实际可用的数据类型比如整数。此时便可借助相应库文件里的工具达成目标,像C标准库提供了这样的服务之一就是`strtol()`函数[^2]。 ```c #include<stdio.h> #include<stdlib.h> int main(void){ long val; char string[]= "1234"; val=strtol(string,(char **)NULL,10 ); printf("The value of the converted integer is %ld.\n",val); return 0;} ``` 以上展示了几个典型场景下的处理方式,当然还有更多其他可能涉及的操作未在此列举出来。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值