IP 地址无效化
难度:
标签:
题目描述
代码结果
运行时间: 20 ms, 内存: 0.0 MB
// 题目思路:
// 给定一个有效的IPv4地址,
// 我们需要返回一个无效化版本,
// 也就是用"[.]"代替每个"."。
// 可以使用Java Stream流式处理的方法来实现。
import java.util.stream.Collectors;
public class Solution {
public String defangIPaddr(String address) {
// 使用Stream流,将每个字符替换为对应的无效化版本
return address.chars()
.mapToObj(c -> c == '.' ? "[.]" : String.valueOf((char)c))
.collect(Collectors.joining());
}
}
解释
方法:
该题解通过使用 Python 的字符串方法 replace 来实现。方法 replace 查找字符串中的指定子串(在这种情况下是每一个点号 '.'),并将它们替换为另一个字符串('[.]')。这样直接使用内建函数,使得代码简洁且易于理解。
时间复杂度:
O(n)
空间复杂度:
O(n)
代码细节讲解
🦆
为什么在解题中选择使用replace方法而不是其他字符串操作,如逐字符检查和替换?
▷🦆
replace方法在处理字符串时是如何保证不会错误地替换非目标字符的?
▷🦆
如果输入的IP地址格式不正确,当前的方法会有什么表现?
▷🦆
该方法在处理极长的字符串时效率如何,与其他字符串处理方法相比有何优劣?
▷