java
Xiongcanne
湖南长沙湖南大学
展开
-
在LR字符串中交换相邻字符
R只能向右移动,并且向右的时候右边必须是X,所以我们可以将这个看作是一个移动小游戏,L,R是两个游戏人物,X是一种游戏道具,L,R碰到X就可以相应的向左向右移动。所以L,R不管怎么移动,L,R的顺序和个数都是不变的,因为不能越过L,R,所以无论我们在游戏人物之中插入多少道具X进行移动,当我们去掉所有X之后,它们的站位都是一样的。反之end的R与start对应的R的下标相比只能更大。并且由于两个字符串L,R的个数都要相同,所以我们若遍历完了一个字符串,另外一个字符串剩下的还有L,R,则肯定不是移动得来的。原创 2022-10-02 13:36:30 · 171 阅读 · 0 评论 -
java题解两数相加
该题返回一个两数相加后的结果链表,我们可以看到从两个加数链表中从头到尾依次相加得到的结果和倒序回来相加的结果是一样的,所以我们可以定义一个返回的结果链表的头指针,一般我们需要在头指针前还有一个结点,设为pre,并且将处理的当前节点cur移到pre节点,初始化进位carry为0。接着进入循环相加的过程,若两加数链表有一个不为Null,则进入相加的循环中,首先判断l1是否为null,若为null,则该加数为0,否则为l1结点中保存的值,l2同理。请你将两个数相加,并以相同形式返回一个表示和的链表。原创 2022-09-24 18:36:33 · 127 阅读 · 0 评论 -
罗马数字转整数
通常情况下,罗马数字中小的数字在大的数字的右边。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4。例如, 罗马数字 2 写做 II ,即为两个并列的 1。C 可以放在 D (500) 和 M (1000) 的左边,来表示 400 和 900。X 可以放在 L (50) 和 C (100) 的左边,来表示 40 和 90。I 可以放在 V (5) 和 X (10) 的左边,来表示 4 和 9。罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。原创 2022-09-24 18:33:47 · 61 阅读 · 0 评论