Merge branch 'youngyangyang04:master' into master

This commit is contained in:
ironartisan
2021-08-22 20:11:09 +08:00
committed by GitHub
3 changed files with 109 additions and 0 deletions

View File

@ -204,6 +204,31 @@ fun removeNthFromEnd(head: ListNode?, n: Int): ListNode? {
}
```
Swift
```swift
func removeNthFromEnd(_ head: ListNode?, _ n: Int) -> ListNode? {
if head == nil {
return nil
}
if n == 0 {
return head
}
let dummyHead = ListNode(-1, head)
var fast: ListNode? = dummyHead
var slow: ListNode? = dummyHead
// fast 前移 n
for _ in 0 ..< n {
fast = fast?.next
}
while fast?.next != nil {
fast = fast?.next
slow = slow?.next
}
slow?.next = slow?.next?.next
return dummyHead.next
}
```
-----------------------
* 作者微信:[程序员Carl](https://mp.weixin.qq.com/s/b66DFkOp8OOxdZC_xLZxfw)
* B站视频[代码随想录](https://space.bilibili.com/525438321)

View File

@ -256,6 +256,27 @@ fun swapPairs(head: ListNode?): ListNode? {
}
```
Swift:
```swift
func swapPairs(_ head: ListNode?) -> ListNode? {
if head == nil || head?.next == nil {
return head
}
let dummyHead: ListNode = ListNode(-1, head)
var current: ListNode? = dummyHead
while current?.next != nil && current?.next?.next != nil {
let temp1 = current?.next
let temp2 = current?.next?.next?.next
current?.next = current?.next?.next
current?.next?.next = temp1
current?.next?.next?.next = temp2
current = current?.next?.next
}
return dummyHead.next
}
```
-----------------------

View File

@ -1072,6 +1072,32 @@ class Solution {
}
```
```java
//方法二用一个max变量来保存最大值
class Solution {
public List<Integer> largestValues(TreeNode root) {
Queue<TreeNode> queue = new LinkedList<TreeNode>();
List<Integer> result = new ArrayList<>();
if (root != null) queue.add(root);
while(!queue.isEmpty()){
int size = queue.size();
int max = Integer.MIN_VALUE; // 初始化为最小值
for(int i = 0; i < size; i++){
TreeNode node = queue.poll();
max = Math.max(node.val, max);
if(node.left != null)
queue.add(node.left);
if(node.right != null)
queue.add(node.right);
}
result.add(max); // 取最大值放进数组
}
return result;
}
}
```
go:
```GO
@ -1597,6 +1623,43 @@ public:
```
Java
```java
class Solution {
public int minDepth(TreeNode root){
if (root == null) {
return 0;
}
Queue<TreeNode> queue = new LinkedList<>();
queue.offer(root);
int depth = 0;
while (!queue.isEmpty()){
int size = queue.size();
depth++;
TreeNode cur = null;
for (int i = 0; i < size; i++) {
cur = queue.poll();
//如果当前节点的左右孩子都为空,直接返回最小深度
if (cur.left == null && cur.right == null){
return depth;
}
if (cur.left != null) queue.offer(cur.left);
if (cur.right != null) queue.offer(cur.right);
}
}
return depth;
}
}
```
Python 3