#牛客在线求职答疑中心# 小红拿到了一条链表,其中部分节点被染成了红色。
每个节点的状态被存在一个字符串str里。第i个节点是红色那么对应的字符为'R',否则为 'W'。
小红想删除一些节点,使得生成的链表相邻的节点颜色不同。已知链表节点的权值即删除每个节点的权值。请你帮小红计算达成目的的最小权值消耗。
每个节点的状态被存在一个字符串str里。第i个节点是红色那么对应的字符为'R',否则为 'W'。
小红想删除一些节点,使得生成的链表相邻的节点颜色不同。已知链表节点的权值即删除每个节点的权值。请你帮小红计算达成目的的最小权值消耗。
全部评论
public static int oddEvenList(ListNode head, String str) {
char[] chars = str.toCharArray();
int length = chars.length;
char s = chars[0];
int sum = 0;
int lastNum = 0;
for (int i = 1; i < length; i++) {
lastNum = head.val;
ListNode tmp = head.next;
if (chars[i] == s) {
if (tmp.val > lastNum) {
sum += lastNum;
} else {
sum += tmp.val;
tmp.val = lastNum;
}
} else {
s = chars[i];
}
head = tmp;
}
return sum;
}
相关推荐
07-09 20:24
湖北师范大学 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享