链表组件 分隔链表 设计链表 字符串中不同整数的数目

817. 链表组件

Set set = new HashSet<>();
for(int i :nums) {
set.add(i);
}
int ans = 0;
while(head != null) {
if(set.contains(head.val)) {找到了组件
while(head != null && set.contains(head.val)) {
head = head.next;得移出现在这个组件才行
}
ans++;
}else {
head = head.next;
}
}
return ans;


725. 分隔链表

int len = 0;
ListNode llen = head;
while(llen != null) {
len++;
llen = llen.next;
}
int ben = len / k;
int yu = len % k;
ListNode[] ans = new ListNode[k];
ListNode cur = head;
for(int i = 0; i < k && cur != null; i++) {
ans[i] = cur;
int leng = ben + (i < yu ? 1 : 0);只前几个多一点
for(int j = 0; j < leng - 1; j++) {
cur = cur.next;因为第一个节点已经包含了
}
ListNode next = cur.next;
cur.next = null;
cur = next;
}
return ans;


707. 设计链表

int size;
ListNode head;
public MyLinkedList() {
size = 0;
head = new ListNode(0);
}

public int get(int index) {
    if(index < 0 || index >= size) return -1;
    ListNode cur = head;
    for(int i = 0; i <= index; i++) {
        cur = cur.next;
    }
    return cur.val;
}

public void addAtHead(int val) {
    addAtIndex(0, val);**//已经包含了size++**
    //size++;我跳
}

public void addAtTail(int val) {
    addAtIndex(size, val);**//已经包含了size++**
    //size++;我跳
}

public void addAtIndex(int index, int val) {
    if(index > size) return ;
    size++;
    index = Math.max(0, index);
    ListNode cur = head;
    for(int i = 0; i < index; i++) {
        cur = cur.next;
    }
    ListNode now = new ListNode(val);
    now.next = cur.next;
    cur.next = now;
}

public void deleteAtIndex(int index) {
    if(index < 0 || index >= size) return ;
    size--;
    ListNode cur = head;
    for(int i = 0; i < index; i++) {
        cur = cur.next;
    }
    cur.next = cur.next.next;
}

1805. 字符串中不同整数的数目

Set set = new HashSet<>();
for(int i = 0; i < word.length(); i++) {
char c = word.charAt(i);
if(c < 58) {//因为0是48
int j = i;
while(j < word.length() && word.charAt(j) < 58) j++;
while(i < word.length() && word.charAt(i) == 48) i++;
set.add(word.substring(i, j));
i = j;
}
}
return set.size();

posted on 2022-12-06 17:09  xtdnn  阅读(16)  评论(0)    收藏  举报

导航