246. Strobogrammatic Number

最后更新

二刷
15-Jan-2017

翻船了= = 还是要仔细点。

Time: O(n)
Space: O(1)

public class Solution {
    public boolean isStrobogrammatic(String num) {
        
        int l = 0;
        int r = num.length() - 1;
        char[] strs = num.toCharArray();
        while (l < r) {
            if (!isOK(strs[l++], strs[r--])) return false;
        }
        if (l == r) {
            return strs[l] == '0' || strs[l] == '8' || strs[l] == '1';
        } else {
            return true;
        }
    }
    
    public boolean isOK(char a, char b) {
        if (a == '0' && b == '0') return true;
        if (a == '8' && b == '8') return true;
        if (a == '1' && b == '1') return true;
        if (a == '6' && b == '9') return true;
        if (a == '9' && b == '6') return true;
        return false;
    }
}

一刷

20-Oct-2016

难点在于strobogrammatic的发音。

似乎念作
死装爆姑如额 卖题克。。
或者
死装爆姑 如爱么题克。。

重音在哪呢。。?????

我他妈在浪费时间……

public class Solution {
    public boolean isStrobogrammatic(String num) {
        // 0 1 8 6 9
        if(num.length() == 0) return true;
        
        int l = 0;
        int r = num.length()-1;
        
        while(l < r){
            if(!isOK(num.charAt(l++),num.charAt(r--))) return false;
        }
        if(l == r) return num.charAt(l) == '0' || num.charAt(l) == '1' || num.charAt(l) == '8';
        else return true;
    }
    
    public boolean isOK(char l, char r){
        if(l == r) return l == '0' || l == '1' || l == '8';
        else return ((l == '9' && r == '6')||(l == '6' && r == '9'));
        
    }
}

转载于:https://www.cnblogs.com/reboot329/p/6288354.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值