LeetCode.1108-使IP地址无效(Defanging an IP Address)

这是小川的第393次更新,第426篇原创

01 看题和准备

今天介绍的是LeetCode算法题中Easy级别的第257题(顺位题号是1108)。给定有效(IPv4)IP地址,返回该IP地址的无效版本。

一个无效的IP地址,是指用"[.]"取代每个点号"."

例如:

输入:address ="1.1.1.1"
输出:"1[.]1[.]1[.]1"

输入:address ="255.100.50.0"
输出:"255[.]100[.]50[.]0"

注意

  • 给定地址是有效的IPv4地址。

02 第一种解法

题目的意思是将字符串中的"."替换成"[.]",直接使用replace方法即可。

public String defangIPaddr(String address) {
    return address.replace(".", "[.]");        
}

03 第二种解法

不使用String的replace方法,使用StringBuilder,依次遍历address中的字符,碰到"."就拼接"[.]",其他字符不变,最后返回StringBuilder对象转成的String。

public String defangIPaddr2(String address) {
    StringBuilder sb = new StringBuilder();
    for (int i=0; i<address.length(); i++) {
        if (address.charAt(i) == '.') {
            sb.append("[.]");
        } else {
            sb.append(address.charAt(i));
        }
    }
    return sb.toString();
}

04 小结

算法专题目前已连续日更超过八个月,算法题文章263+篇,公众号对话框回复【数据结构与算法】、【算法】、【数据结构】中的任一关键词,获取系列文章合集。

以上就是全部内容,如果大家有什么好的解法思路、建议或者其他问题,可以下方留言交流,点赞、留言、转发就是对我最大的回报和支持!

posted @ 2019-07-29 08:48  程序员小川  阅读(491)  评论(0编辑  收藏  举报