目录
写在前面:
题目剑指 Offer 17. 打印从1到最大的n位数 - 力扣(Leetcode)
题目的接口:
解题思路:
代码:
过啦!!!
题目:剑指 Offer 18. 删除链表的节点 - 力扣(Leetcode)
题目的接口:
解题思路:
代码:
过啦!!!
写在最后:
写在前面:
生命不息,刷题不止。
题目剑指 Offer 17. 打印从1到最大的n位数 - 力扣(Leetcode)
题目的接口:
class Solution {
public:vector<int> printNumbers(int n) {}
};
解题思路:
思路很简单无脑:
根据n的值,
找出其对应的需要打印的数的最后一个数last。
然后直接暴力循环打印即可。
代码:
class Solution {
public:vector<int> printNumbers(int n) {vector<int> v;int last = 0;//找出最后一个需要打印的数while(n--){last = last * 10 + 9;}//遍历即可for(int i = 1; i<=last;i++){v.push_back(i);}return v;}
};
过啦!!!
题目:剑指 Offer 18. 删除链表的节点 - 力扣(Leetcode)
题目的接口:
/*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode(int x) : val(x), next(NULL) {}* };*/
class Solution {
public:ListNode* deleteNode(ListNode* head, int val) {}
};
解题思路:
这题也比较简单,
首先解决链表头删的特殊情况,
然后因为题目需要删除一个具体的节点,
所以不用考虑空链表的情况,
然后只需要遍历链表,然后删除就行。
代码:
/*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode(int x) : val(x), next(NULL) {}* };*/
class Solution {
public:ListNode* deleteNode(ListNode* head, int val) {//链表头删if(head->val == val){head = head->next;}//设置两个指针ListNode* cur = head->next;ListNode* prev = head;//遍历链表删除节点while(cur){if(cur->val == val){prev->next = cur->next;break;}prev = cur;cur = cur->next;}//返回头结点return head;}
};
过啦!!!
写在最后:
以上就是本篇文章的内容了,感谢你的阅读。
如果喜欢本文的话,欢迎点赞和评论,写下你的见解。
如果想和我一起学习编程,不妨点个关注,我们一起学习,一同成长。
之后我还会输出更多高质量内容,欢迎收看。