前两天刚做了个URL的题 和这个很像
JS
var replaceSpace = function(s) {
return s.replace(/\s/g,'%20'); };
利用正则和replace
JS
var replaceSpace = function(s) {
const len = s.length;
let arr = s.split('');
for(let i =0;i<len;i++){
if(arr[i]==" "){
arr[i]='%20';
}
}
let res = arr.join("");
return res;
};
转数组
时间复杂度应该都是On,方法内部的复杂度就不知道了。。
空间复杂度因为我用弄了个数组所以是On
Python
class Solution:
def replaceSpace(self, s: str) -> str:
return s.replace(" ",'%20');
JS
/**
* Definition for singly-linked list.
* function ListNode(val) {
* this.val = val;
* this.next = null;
* }
*/
/**
* @param {ListNode} head
* @return {number[]}
*/
var reversePrint = function(head) {
let arr = [];
while(head){
arr.push(head.val);
head = head.next;
}
let res =arr.reverse();
return res;
};
好烦链表。简单的还好,复杂的就很烦。
Python
class Solution:
def reversePrint(self, head: ListNode) -> List[int]:
stack = []
while head:
stack.append(head.val)
head = head.next
stack.reverse()
return stack
递归方法很有趣,遍历过去再一个一个加起来返回,但是没这样写
时间复杂度On
空间复杂度On