leetcode随机一题1881插入后的最大值(自我总结)

2022.1.30 第二刷

思路
如果是负数,(范围:1<i<n.length) 从左往右比较,若x小于n[i],直接就可插入此位置,否则i++,判断到最后一个还不满足x<n[i],插入到最后
如果是正数,(范围:0<i<n.length) 从左往右比较,若x大于n[i],直接就可插入此位置,否则i++,判断到最后一个还不满足x>n[i],插入到最后

以下是代码
 

public static String MaxStr(String n,int x) 
	{
		int p=0;                                //假设它是一个指针,用来指字符串的索引下标
		StringBuffer ans=new StringBuffer(n);   //因为要用到insert()方法,所以需要建立 
                                                //StringButter类
		int X=x+'0';                            //涉及到字符串比较
		if(ans.charAt(0)=='-')                  //判断n是正数还是负数
		{                                       
			++p;                                
			while(p<n.length())
			{
				if(ans.charAt(p)>X)            //从左往右比较,若X<ans[p],直接找到插入位置
					break;
					++p;
			}
		}
		else
		{
			while(p<n.length())
			{
				if(ans.charAt(p)<X)            //从左往右比较,若X>ans[p],直接找到插入位置
					break;
			
			++p;}
			
		}
	return ans.insert(p, x).toString();
	}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值