LeetCode——1108.IP地址无效化

通过万岁!!!

  • 题目:给你一个ip地址,然后把里面的".“都换成”[.]"。
  • 思路:直接用string的replace方法啊,然后直接return,这真的是我做过最简单的简单题了。当然,还有其他的方式,就是遍历这个字符串,然后new 一个StringBulider,我去看了一下源码,源码好像是用的StringBuffer。这里附带一下这两者的区别吧,
    • String、StringBuffer、StringBuilder区别和使用场景
      • 内存上:String是由final修饰的,是不可变的,意味着每次操作String都会产生一个新的String对象。StringBuffer和StringBuilder都是在原对象上操作。
      • 安全上:StringBuffer是线程安全的,而StringBuilder是线程不安全的。因为StringBuffer方法都是synchronized修饰的,程序员不需要额外的加synchronized。在多线程、共享变量的时候保证结果正确性即为安全。
      • 性能上:StringBuilder>StringBuffer>String。
      • 因此优先使用StringBuilder,多线程使用共享变量的时候使用StringBuffer。
  • 技巧:String

java代码

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

java代码——StringBuilder

class Solution {
    public String defangIPaddr(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();
    }
}
  • 总结:题目是真的简单,希望大家能够掌握一些常用函数。其实日积月累就可以了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值